﻿2026-06-16T04:57:29.5800348Z ##[group]Run ./traceable-reqs check --json
2026-06-16T04:57:29.5800873Z [36;1m./traceable-reqs check --json[0m
2026-06-16T04:57:29.5813402Z shell: /usr/bin/bash -e {0}
2026-06-16T04:57:29.5813664Z ##[endgroup]
2026-06-16T04:57:29.6268550Z {
2026-06-16T04:57:29.6269093Z   "schemaVersion": 1,
2026-06-16T04:57:29.6269411Z   "summary": {
2026-06-16T04:57:29.6269706Z     "requirementCount": 212,
2026-06-16T04:57:29.6270026Z     "completeCount": 212,
2026-06-16T04:57:29.6270331Z     "incompleteCount": 0,
2026-06-16T04:57:29.6270636Z     "findingCount": 0
2026-06-16T04:57:29.6270907Z   },
2026-06-16T04:57:29.6271155Z   "requirements": [
2026-06-16T04:57:29.6271422Z     {
2026-06-16T04:57:29.6271714Z       "id": "REQ-API-1",
2026-06-16T04:57:29.6272125Z       "title": "api prefix and adapter_name on every machinery invocation",
2026-06-16T04:57:29.6272554Z       "requiredStages": [
2026-06-16T04:57:29.6272839Z         "impl",
2026-06-16T04:57:29.6273088Z         "unit",
2026-06-16T04:57:29.6273341Z         "int"
2026-06-16T04:57:29.6273660Z       ],
2026-06-16T04:57:29.6273919Z       "stages": {
2026-06-16T04:57:29.6274181Z         "doc": {
2026-06-16T04:57:29.6274436Z           "complete": false,
2026-06-16T04:57:29.6274734Z           "evidence": []
2026-06-16T04:57:29.6274992Z         },
2026-06-16T04:57:29.6275349Z         "impl": {
2026-06-16T04:57:29.6275770Z           "complete": true,
2026-06-16T04:57:29.6276222Z           "evidence": [
2026-06-16T04:57:29.6276636Z             {
2026-06-16T04:57:29.6277086Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.6277589Z               "line": 15
2026-06-16T04:57:29.6277990Z             }
2026-06-16T04:57:29.6278358Z           ]
2026-06-16T04:57:29.6278730Z         },
2026-06-16T04:57:29.6279182Z         "int": {
2026-06-16T04:57:29.6279581Z           "complete": true,
2026-06-16T04:57:29.6280014Z           "evidence": [
2026-06-16T04:57:29.6280418Z             {
2026-06-16T04:57:29.6280862Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6281410Z               "line": 13
2026-06-16T04:57:29.6281836Z             }
2026-06-16T04:57:29.6282199Z           ]
2026-06-16T04:57:29.6282521Z         },
2026-06-16T04:57:29.6282818Z         "unit": {
2026-06-16T04:57:29.6283138Z           "complete": true,
2026-06-16T04:57:29.6283496Z           "evidence": [
2026-06-16T04:57:29.6283830Z             {
2026-06-16T04:57:29.6284168Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.6284582Z               "line": 526
2026-06-16T04:57:29.6284920Z             },
2026-06-16T04:57:29.6285219Z             {
2026-06-16T04:57:29.6285562Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.6285962Z               "line": 564
2026-06-16T04:57:29.6286301Z             },
2026-06-16T04:57:29.6286582Z             {
2026-06-16T04:57:29.6286921Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.6287327Z               "line": 651
2026-06-16T04:57:29.6287670Z             }
2026-06-16T04:57:29.6287978Z           ]
2026-06-16T04:57:29.6288278Z         }
2026-06-16T04:57:29.6288570Z       }
2026-06-16T04:57:29.6288855Z     },
2026-06-16T04:57:29.6289223Z     {
2026-06-16T04:57:29.6289524Z       "id": "REQ-API-2",
2026-06-16T04:57:29.6290051Z       "title": "The api subcommand surface (bind/listen/poll/state/worker/boundary/...)",
2026-06-16T04:57:29.6290659Z       "requiredStages": [
2026-06-16T04:57:29.6291016Z         "impl",
2026-06-16T04:57:29.6291341Z         "unit",
2026-06-16T04:57:29.6291651Z         "int"
2026-06-16T04:57:29.6291961Z       ],
2026-06-16T04:57:29.6292256Z       "stages": {
2026-06-16T04:57:29.6292585Z         "doc": {
2026-06-16T04:57:29.6292914Z           "complete": false,
2026-06-16T04:57:29.6293278Z           "evidence": []
2026-06-16T04:57:29.6293612Z         },
2026-06-16T04:57:29.6293898Z         "impl": {
2026-06-16T04:57:29.6294217Z           "complete": true,
2026-06-16T04:57:29.6294566Z           "evidence": [
2026-06-16T04:57:29.6294895Z             {
2026-06-16T04:57:29.6295599Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.6296212Z               "line": 17
2026-06-16T04:57:29.6296555Z             },
2026-06-16T04:57:29.6296861Z             {
2026-06-16T04:57:29.6297219Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.6297634Z               "line": 20
2026-06-16T04:57:29.6297967Z             },
2026-06-16T04:57:29.6298268Z             {
2026-06-16T04:57:29.6298611Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.6299105Z               "line": 142
2026-06-16T04:57:29.6299454Z             },
2026-06-16T04:57:29.6299759Z             {
2026-06-16T04:57:29.6300117Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6300550Z               "line": 24
2026-06-16T04:57:29.6300881Z             },
2026-06-16T04:57:29.6301183Z             {
2026-06-16T04:57:29.6301548Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6301977Z               "line": 41
2026-06-16T04:57:29.6302321Z             },
2026-06-16T04:57:29.6302631Z             {
2026-06-16T04:57:29.6302970Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6303427Z               "line": 209
2026-06-16T04:57:29.6303758Z             },
2026-06-16T04:57:29.6304063Z             {
2026-06-16T04:57:29.6304406Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6304825Z               "line": 251
2026-06-16T04:57:29.6305154Z             },
2026-06-16T04:57:29.6305450Z             {
2026-06-16T04:57:29.6305798Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6306231Z               "line": 330
2026-06-16T04:57:29.6306568Z             },
2026-06-16T04:57:29.6306864Z             {
2026-06-16T04:57:29.6307202Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6307631Z               "line": 393
2026-06-16T04:57:29.6307965Z             },
2026-06-16T04:57:29.6308260Z             {
2026-06-16T04:57:29.6308618Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6309128Z               "line": 432
2026-06-16T04:57:29.6309494Z             },
2026-06-16T04:57:29.6309795Z             {
2026-06-16T04:57:29.6310024Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6310290Z               "line": 17
2026-06-16T04:57:29.6310566Z             },
2026-06-16T04:57:29.6310881Z             {
2026-06-16T04:57:29.6311238Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6311651Z               "line": 30
2026-06-16T04:57:29.6311975Z             },
2026-06-16T04:57:29.6312286Z             {
2026-06-16T04:57:29.6312634Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6313063Z               "line": 63
2026-06-16T04:57:29.6313410Z             },
2026-06-16T04:57:29.6313715Z             {
2026-06-16T04:57:29.6314077Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6314508Z               "line": 77
2026-06-16T04:57:29.6314838Z             }
2026-06-16T04:57:29.6315158Z           ]
2026-06-16T04:57:29.6315443Z         },
2026-06-16T04:57:29.6315743Z         "int": {
2026-06-16T04:57:29.6316073Z           "complete": true,
2026-06-16T04:57:29.6316436Z           "evidence": [
2026-06-16T04:57:29.6316763Z             {
2026-06-16T04:57:29.6317138Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6317571Z               "line": 14
2026-06-16T04:57:29.6317900Z             },
2026-06-16T04:57:29.6318191Z             {
2026-06-16T04:57:29.6318539Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6319045Z               "line": 187
2026-06-16T04:57:29.6319416Z             }
2026-06-16T04:57:29.6319726Z           ]
2026-06-16T04:57:29.6320017Z         },
2026-06-16T04:57:29.6320293Z         "unit": {
2026-06-16T04:57:29.6320516Z           "complete": true,
2026-06-16T04:57:29.6320746Z           "evidence": [
2026-06-16T04:57:29.6320970Z             {
2026-06-16T04:57:29.6321398Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.6321841Z               "line": 82
2026-06-16T04:57:29.6322072Z             },
2026-06-16T04:57:29.6322269Z             {
2026-06-16T04:57:29.6322521Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.6322807Z               "line": 279
2026-06-16T04:57:29.6323026Z             },
2026-06-16T04:57:29.6323227Z             {
2026-06-16T04:57:29.6323471Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6323766Z               "line": 705
2026-06-16T04:57:29.6323999Z             },
2026-06-16T04:57:29.6324205Z             {
2026-06-16T04:57:29.6324444Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6324728Z               "line": 716
2026-06-16T04:57:29.6324958Z             },
2026-06-16T04:57:29.6325164Z             {
2026-06-16T04:57:29.6327907Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6328216Z               "line": 869
2026-06-16T04:57:29.6328455Z             },
2026-06-16T04:57:29.6328665Z             {
2026-06-16T04:57:29.6328919Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6329290Z               "line": 915
2026-06-16T04:57:29.6329520Z             },
2026-06-16T04:57:29.6329719Z             {
2026-06-16T04:57:29.6329967Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6330248Z               "line": 143
2026-06-16T04:57:29.6330481Z             },
2026-06-16T04:57:29.6330681Z             {
2026-06-16T04:57:29.6330925Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6331206Z               "line": 187
2026-06-16T04:57:29.6331430Z             }
2026-06-16T04:57:29.6331630Z           ]
2026-06-16T04:57:29.6331836Z         }
2026-06-16T04:57:29.6332026Z       }
2026-06-16T04:57:29.6332221Z     },
2026-06-16T04:57:29.6332420Z     {
2026-06-16T04:57:29.6332628Z       "id": "REQ-API-3",
2026-06-16T04:57:29.6333125Z       "title": "commune/signoff are file-drops, not commands",
2026-06-16T04:57:29.6333553Z       "requiredStages": [
2026-06-16T04:57:29.6334064Z         "impl",
2026-06-16T04:57:29.6334536Z         "unit",
2026-06-16T04:57:29.6335047Z         "int"
2026-06-16T04:57:29.6335542Z       ],
2026-06-16T04:57:29.6336044Z       "stages": {
2026-06-16T04:57:29.6336515Z         "doc": {
2026-06-16T04:57:29.6336984Z           "complete": false,
2026-06-16T04:57:29.6337498Z           "evidence": []
2026-06-16T04:57:29.6338033Z         },
2026-06-16T04:57:29.6338472Z         "impl": {
2026-06-16T04:57:29.6370634Z           "complete": true,
2026-06-16T04:57:29.6371044Z           "evidence": [
2026-06-16T04:57:29.6371377Z             {
2026-06-16T04:57:29.6371726Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6372127Z               "line": 27
2026-06-16T04:57:29.6372450Z             },
2026-06-16T04:57:29.6372736Z             {
2026-06-16T04:57:29.6373080Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6373527Z               "line": 562
2026-06-16T04:57:29.6373856Z             }
2026-06-16T04:57:29.6374142Z           ]
2026-06-16T04:57:29.6374415Z         },
2026-06-16T04:57:29.6374680Z         "int": {
2026-06-16T04:57:29.6375002Z           "complete": true,
2026-06-16T04:57:29.6375341Z           "evidence": [
2026-06-16T04:57:29.6375642Z             {
2026-06-16T04:57:29.6376000Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6376428Z               "line": 261
2026-06-16T04:57:29.6376757Z             }
2026-06-16T04:57:29.6377037Z           ]
2026-06-16T04:57:29.6377310Z         },
2026-06-16T04:57:29.6377590Z         "unit": {
2026-06-16T04:57:29.6377898Z           "complete": true,
2026-06-16T04:57:29.6378246Z           "evidence": [
2026-06-16T04:57:29.6378556Z             {
2026-06-16T04:57:29.6378914Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6379404Z               "line": 280
2026-06-16T04:57:29.6379719Z             },
2026-06-16T04:57:29.6380307Z             {
2026-06-16T04:57:29.6380837Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6381265Z               "line": 944
2026-06-16T04:57:29.6381585Z             }
2026-06-16T04:57:29.6381876Z           ]
2026-06-16T04:57:29.6382167Z         }
2026-06-16T04:57:29.6382448Z       }
2026-06-16T04:57:29.6382731Z     },
2026-06-16T04:57:29.6383005Z     {
2026-06-16T04:57:29.6383311Z       "id": "REQ-ARCH-1",
2026-06-16T04:57:29.6383730Z       "title": "Many small acyclically-layered crates",
2026-06-16T04:57:29.6384158Z       "requiredStages": [
2026-06-16T04:57:29.6384497Z         "impl"
2026-06-16T04:57:29.6384793Z       ],
2026-06-16T04:57:29.6385092Z       "stages": {
2026-06-16T04:57:29.6385386Z         "doc": {
2026-06-16T04:57:29.6385715Z           "complete": false,
2026-06-16T04:57:29.6386062Z           "evidence": []
2026-06-16T04:57:29.6386396Z         },
2026-06-16T04:57:29.6386683Z         "impl": {
2026-06-16T04:57:29.6386949Z           "complete": true,
2026-06-16T04:57:29.6387317Z           "evidence": [
2026-06-16T04:57:29.6387636Z             {
2026-06-16T04:57:29.6387964Z               "path": "crates/spt-msg/src/lib.rs",
2026-06-16T04:57:29.6388362Z               "line": 18
2026-06-16T04:57:29.6388677Z             },
2026-06-16T04:57:29.6389050Z             {
2026-06-16T04:57:29.6389393Z               "path": "crates/spt-proto/src/lib.rs",
2026-06-16T04:57:29.6389793Z               "line": 12
2026-06-16T04:57:29.6390122Z             },
2026-06-16T04:57:29.6390423Z             {
2026-06-16T04:57:29.6390754Z               "path": "crates/spt-store/src/lib.rs",
2026-06-16T04:57:29.6391158Z               "line": 12
2026-06-16T04:57:29.6391464Z             }
2026-06-16T04:57:29.6391750Z           ]
2026-06-16T04:57:29.6392031Z         },
2026-06-16T04:57:29.6392308Z         "int": {
2026-06-16T04:57:29.6392628Z           "complete": false,
2026-06-16T04:57:29.6392990Z           "evidence": []
2026-06-16T04:57:29.6393319Z         },
2026-06-16T04:57:29.6393609Z         "unit": {
2026-06-16T04:57:29.6393928Z           "complete": false,
2026-06-16T04:57:29.6394281Z           "evidence": []
2026-06-16T04:57:29.6394615Z         }
2026-06-16T04:57:29.6394891Z       }
2026-06-16T04:57:29.6395164Z     },
2026-06-16T04:57:29.6395439Z     {
2026-06-16T04:57:29.6395733Z       "id": "REQ-ARCH-2",
2026-06-16T04:57:29.6396312Z       "title": "Public SDK surface is spt-proto, spt-runtime, spt-msg",
2026-06-16T04:57:29.6396800Z       "requiredStages": [
2026-06-16T04:57:29.6397129Z         "impl"
2026-06-16T04:57:29.6397425Z       ],
2026-06-16T04:57:29.6397697Z       "stages": {
2026-06-16T04:57:29.6397982Z         "doc": {
2026-06-16T04:57:29.6398292Z           "complete": false,
2026-06-16T04:57:29.6398639Z           "evidence": []
2026-06-16T04:57:29.6399038Z         },
2026-06-16T04:57:29.6399324Z         "impl": {
2026-06-16T04:57:29.6399634Z           "complete": true,
2026-06-16T04:57:29.6399982Z           "evidence": [
2026-06-16T04:57:29.6400302Z             {
2026-06-16T04:57:29.6400650Z               "path": "crates/spt-runtime/src/lib.rs",
2026-06-16T04:57:29.6401053Z               "line": 18
2026-06-16T04:57:29.6401366Z             }
2026-06-16T04:57:29.6401653Z           ]
2026-06-16T04:57:29.6401914Z         },
2026-06-16T04:57:29.6402186Z         "int": {
2026-06-16T04:57:29.6402496Z           "complete": false,
2026-06-16T04:57:29.6402840Z           "evidence": []
2026-06-16T04:57:29.6403174Z         },
2026-06-16T04:57:29.6403460Z         "unit": {
2026-06-16T04:57:29.6403794Z           "complete": false,
2026-06-16T04:57:29.6404145Z           "evidence": []
2026-06-16T04:57:29.6404460Z         }
2026-06-16T04:57:29.6404736Z       }
2026-06-16T04:57:29.6404997Z     },
2026-06-16T04:57:29.6405274Z     {
2026-06-16T04:57:29.6405566Z       "id": "REQ-ARCH-3",
2026-06-16T04:57:29.6406100Z       "title": "Wire-protocol version independent of crate semver, N-1 compat window",
2026-06-16T04:57:29.6406582Z       "requiredStages": [
2026-06-16T04:57:29.6407131Z         "impl",
2026-06-16T04:57:29.6407579Z         "unit"
2026-06-16T04:57:29.6407869Z       ],
2026-06-16T04:57:29.6408156Z       "stages": {
2026-06-16T04:57:29.6408457Z         "doc": {
2026-06-16T04:57:29.6408776Z           "complete": false,
2026-06-16T04:57:29.6409341Z           "evidence": []
2026-06-16T04:57:29.6409645Z         },
2026-06-16T04:57:29.6409865Z         "impl": {
2026-06-16T04:57:29.6410107Z           "complete": true,
2026-06-16T04:57:29.6410374Z           "evidence": [
2026-06-16T04:57:29.6410599Z             {
2026-06-16T04:57:29.6410876Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T04:57:29.6411191Z               "line": 34
2026-06-16T04:57:29.6411414Z             },
2026-06-16T04:57:29.6411628Z             {
2026-06-16T04:57:29.6411889Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T04:57:29.6412188Z               "line": 41
2026-06-16T04:57:29.6412441Z             }
2026-06-16T04:57:29.6412702Z           ]
2026-06-16T04:57:29.6412955Z         },
2026-06-16T04:57:29.6413213Z         "int": {
2026-06-16T04:57:29.6413538Z           "complete": false,
2026-06-16T04:57:29.6413828Z           "evidence": []
2026-06-16T04:57:29.6414091Z         },
2026-06-16T04:57:29.6414330Z         "unit": {
2026-06-16T04:57:29.6414604Z           "complete": true,
2026-06-16T04:57:29.6414900Z           "evidence": [
2026-06-16T04:57:29.6415171Z             {
2026-06-16T04:57:29.6415477Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T04:57:29.6415829Z               "line": 51
2026-06-16T04:57:29.6416097Z             },
2026-06-16T04:57:29.6416340Z             {
2026-06-16T04:57:29.6416641Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T04:57:29.6416987Z               "line": 71
2026-06-16T04:57:29.6417253Z             },
2026-06-16T04:57:29.6417485Z             {
2026-06-16T04:57:29.6417785Z               "path": "crates/spt-proto/src/version.rs",
2026-06-16T04:57:29.6418119Z               "line": 83
2026-06-16T04:57:29.6418396Z             }
2026-06-16T04:57:29.6418644Z           ]
2026-06-16T04:57:29.6418884Z         }
2026-06-16T04:57:29.6419175Z       }
2026-06-16T04:57:29.6419408Z     },
2026-06-16T04:57:29.6419626Z     {
2026-06-16T04:57:29.6419878Z       "id": "REQ-ARCH-4",
2026-06-16T04:57:29.6420277Z       "title": "Copy-verbatim the commodity layer from the sister project",
2026-06-16T04:57:29.6420706Z       "requiredStages": [
2026-06-16T04:57:29.6420996Z         "impl",
2026-06-16T04:57:29.6421250Z         "unit"
2026-06-16T04:57:29.6421502Z       ],
2026-06-16T04:57:29.6421737Z       "stages": {
2026-06-16T04:57:29.6421984Z         "doc": {
2026-06-16T04:57:29.6422226Z           "complete": false,
2026-06-16T04:57:29.6422468Z           "evidence": []
2026-06-16T04:57:29.6422686Z         },
2026-06-16T04:57:29.6422886Z         "impl": {
2026-06-16T04:57:29.6423106Z           "complete": true,
2026-06-16T04:57:29.6423331Z           "evidence": [
2026-06-16T04:57:29.6423544Z             {
2026-06-16T04:57:29.6423793Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6424088Z               "line": 165
2026-06-16T04:57:29.6424299Z             },
2026-06-16T04:57:29.6424503Z             {
2026-06-16T04:57:29.6424731Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6425013Z               "line": 188
2026-06-16T04:57:29.6425226Z             },
2026-06-16T04:57:29.6425422Z             {
2026-06-16T04:57:29.6425651Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6425928Z               "line": 208
2026-06-16T04:57:29.6426147Z             },
2026-06-16T04:57:29.6426347Z             {
2026-06-16T04:57:29.6426576Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6426849Z               "line": 223
2026-06-16T04:57:29.6427062Z             },
2026-06-16T04:57:29.6427262Z             {
2026-06-16T04:57:29.6427500Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6427769Z               "line": 273
2026-06-16T04:57:29.6428171Z             }
2026-06-16T04:57:29.6428466Z           ]
2026-06-16T04:57:29.6428651Z         },
2026-06-16T04:57:29.6428838Z         "int": {
2026-06-16T04:57:29.6429134Z           "complete": false,
2026-06-16T04:57:29.6429392Z           "evidence": []
2026-06-16T04:57:29.6429605Z         },
2026-06-16T04:57:29.6429801Z         "unit": {
2026-06-16T04:57:29.6430021Z           "complete": true,
2026-06-16T04:57:29.6430252Z           "evidence": [
2026-06-16T04:57:29.6430470Z             {
2026-06-16T04:57:29.6430708Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6430975Z               "line": 334
2026-06-16T04:57:29.6431199Z             },
2026-06-16T04:57:29.6431395Z             {
2026-06-16T04:57:29.6431624Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6431895Z               "line": 344
2026-06-16T04:57:29.6432109Z             },
2026-06-16T04:57:29.6432311Z             {
2026-06-16T04:57:29.6432544Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6432838Z               "line": 355
2026-06-16T04:57:29.6433070Z             },
2026-06-16T04:57:29.6433270Z             {
2026-06-16T04:57:29.6433503Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6433770Z               "line": 366
2026-06-16T04:57:29.6433985Z             },
2026-06-16T04:57:29.6434186Z             {
2026-06-16T04:57:29.6434424Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6434705Z               "line": 378
2026-06-16T04:57:29.6434934Z             },
2026-06-16T04:57:29.6435136Z             {
2026-06-16T04:57:29.6435373Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6435648Z               "line": 391
2026-06-16T04:57:29.6435863Z             },
2026-06-16T04:57:29.6436063Z             {
2026-06-16T04:57:29.6436296Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6436569Z               "line": 402
2026-06-16T04:57:29.6436799Z             },
2026-06-16T04:57:29.6436998Z             {
2026-06-16T04:57:29.6437241Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6437512Z               "line": 419
2026-06-16T04:57:29.6437729Z             },
2026-06-16T04:57:29.6437917Z             {
2026-06-16T04:57:29.6438149Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.6438421Z               "line": 547
2026-06-16T04:57:29.6438640Z             }
2026-06-16T04:57:29.6438844Z           ]
2026-06-16T04:57:29.6439107Z         }
2026-06-16T04:57:29.6439293Z       }
2026-06-16T04:57:29.6439488Z     },
2026-06-16T04:57:29.6439675Z     {
2026-06-16T04:57:29.6439883Z       "id": "REQ-CLI-1",
2026-06-16T04:57:29.6441230Z       "title": "spt endpoint noun namespace: absorbs fork/suspend/wake/shutdown/rename/stop/digest + access (ported 1:1: allow|revoke|open|list, decision 21) + description (ex-resources blurb; bare=show, set=author); merged endpoint list [--local|--subnet <name>] grouped by subnet with SELF pinned, --detail adding the ex-resources yellow-pages blurb projection; bare spt endpoint = the list (M8 decisions 1-2, 25)",
2026-06-16T04:57:29.6442460Z       "requiredStages": [
2026-06-16T04:57:29.6442684Z         "impl",
2026-06-16T04:57:29.6442885Z         "unit"
2026-06-16T04:57:29.6443085Z       ],
2026-06-16T04:57:29.6443290Z       "stages": {
2026-06-16T04:57:29.6443503Z         "doc": {
2026-06-16T04:57:29.6443715Z           "complete": false,
2026-06-16T04:57:29.6443959Z           "evidence": []
2026-06-16T04:57:29.6444189Z         },
2026-06-16T04:57:29.6444383Z         "impl": {
2026-06-16T04:57:29.6444598Z           "complete": true,
2026-06-16T04:57:29.6444869Z           "evidence": [
2026-06-16T04:57:29.6445090Z             {
2026-06-16T04:57:29.6445323Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6445608Z               "line": 225
2026-06-16T04:57:29.6445833Z             },
2026-06-16T04:57:29.6446039Z             {
2026-06-16T04:57:29.6446265Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6446743Z               "line": 1021
2026-06-16T04:57:29.6446962Z             },
2026-06-16T04:57:29.6447167Z             {
2026-06-16T04:57:29.6447391Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6447659Z               "line": 1549
2026-06-16T04:57:29.6447882Z             },
2026-06-16T04:57:29.6448077Z             {
2026-06-16T04:57:29.6448308Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6448568Z               "line": 2756
2026-06-16T04:57:29.6448790Z             }
2026-06-16T04:57:29.6449066Z           ]
2026-06-16T04:57:29.6449262Z         },
2026-06-16T04:57:29.6449457Z         "int": {
2026-06-16T04:57:29.6449687Z           "complete": false,
2026-06-16T04:57:29.6449920Z           "evidence": []
2026-06-16T04:57:29.6450139Z         },
2026-06-16T04:57:29.6450340Z         "unit": {
2026-06-16T04:57:29.6450564Z           "complete": true,
2026-06-16T04:57:29.6450793Z           "evidence": [
2026-06-16T04:57:29.6451021Z             {
2026-06-16T04:57:29.6451245Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6451511Z               "line": 6678
2026-06-16T04:57:29.6451732Z             }
2026-06-16T04:57:29.6451938Z           ]
2026-06-16T04:57:29.6452139Z         }
2026-06-16T04:57:29.6452329Z       }
2026-06-16T04:57:29.6452525Z     },
2026-06-16T04:57:29.6452720Z     {
2026-06-16T04:57:29.6452925Z       "id": "REQ-CLI-2",
2026-06-16T04:57:29.6453812Z       "title": "spt daemon noun: run|stop|status (hidden daemon verb becomes daemon run; agent-endpoint shutdown keeps its name under endpoint); daemon status renders the pump heartbeat (last-tick recency) so a half-dead daemon is never rendered implied-healthy (M8 decisions 5, 23)",
2026-06-16T04:57:29.6454682Z       "requiredStages": [
2026-06-16T04:57:29.6454919Z         "impl",
2026-06-16T04:57:29.6455144Z         "unit"
2026-06-16T04:57:29.6455354Z       ],
2026-06-16T04:57:29.6455553Z       "stages": {
2026-06-16T04:57:29.6455768Z         "doc": {
2026-06-16T04:57:29.6468264Z           "complete": false,
2026-06-16T04:57:29.6468598Z           "evidence": []
2026-06-16T04:57:29.6468822Z         },
2026-06-16T04:57:29.6469103Z         "impl": {
2026-06-16T04:57:29.6469322Z           "complete": true,
2026-06-16T04:57:29.6469564Z           "evidence": [
2026-06-16T04:57:29.6469779Z             {
2026-06-16T04:57:29.6470025Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6470329Z               "line": 382
2026-06-16T04:57:29.6470553Z             },
2026-06-16T04:57:29.6470763Z             {
2026-06-16T04:57:29.6471012Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T04:57:29.6471308Z               "line": 97
2026-06-16T04:57:29.6471535Z             },
2026-06-16T04:57:29.6471727Z             {
2026-06-16T04:57:29.6471971Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.6472257Z               "line": 239
2026-06-16T04:57:29.6472474Z             },
2026-06-16T04:57:29.6472683Z             {
2026-06-16T04:57:29.6472906Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6473163Z               "line": 419
2026-06-16T04:57:29.6473373Z             },
2026-06-16T04:57:29.6473569Z             {
2026-06-16T04:57:29.6473797Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6474064Z               "line": 1104
2026-06-16T04:57:29.6474284Z             },
2026-06-16T04:57:29.6474480Z             {
2026-06-16T04:57:29.6474694Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6474960Z               "line": 1744
2026-06-16T04:57:29.6475194Z             },
2026-06-16T04:57:29.6475395Z             {
2026-06-16T04:57:29.6475620Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6475892Z               "line": 1823
2026-06-16T04:57:29.6476117Z             },
2026-06-16T04:57:29.6476316Z             {
2026-06-16T04:57:29.6476540Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6476808Z               "line": 1884
2026-06-16T04:57:29.6477189Z             }
2026-06-16T04:57:29.6477489Z           ]
2026-06-16T04:57:29.6477676Z         },
2026-06-16T04:57:29.6477875Z         "int": {
2026-06-16T04:57:29.6478090Z           "complete": false,
2026-06-16T04:57:29.6478323Z           "evidence": []
2026-06-16T04:57:29.6478532Z         },
2026-06-16T04:57:29.6478738Z         "unit": {
2026-06-16T04:57:29.6479034Z           "complete": true,
2026-06-16T04:57:29.6479267Z           "evidence": [
2026-06-16T04:57:29.6479477Z             {
2026-06-16T04:57:29.6479725Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.6480007Z               "line": 309
2026-06-16T04:57:29.6480224Z             },
2026-06-16T04:57:29.6480418Z             {
2026-06-16T04:57:29.6480637Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6480904Z               "line": 6816
2026-06-16T04:57:29.6481118Z             }
2026-06-16T04:57:29.6481324Z           ]
2026-06-16T04:57:29.6481514Z         }
2026-06-16T04:57:29.6481701Z       }
2026-06-16T04:57:29.6481887Z     },
2026-06-16T04:57:29.6482077Z     {
2026-06-16T04:57:29.6482278Z       "id": "REQ-CLI-3",
2026-06-16T04:57:29.6483158Z       "title": "Agent hot path stays flat across the M8 reorg: send/ring/ready/whoami/how-to unchanged; notify moves to subnet notify while notif stays top-level; breaking renames land clean with no deprecation shims (zero external CLI consumers pre-spt-claude-code) (M8 decisions 3-4, 9)",
2026-06-16T04:57:29.6484038Z       "requiredStages": [
2026-06-16T04:57:29.6484263Z         "impl",
2026-06-16T04:57:29.6484468Z         "unit"
2026-06-16T04:57:29.6484667Z       ],
2026-06-16T04:57:29.6484858Z       "stages": {
2026-06-16T04:57:29.6485064Z         "doc": {
2026-06-16T04:57:29.6485282Z           "complete": false,
2026-06-16T04:57:29.6485520Z           "evidence": []
2026-06-16T04:57:29.6485734Z         },
2026-06-16T04:57:29.6485927Z         "impl": {
2026-06-16T04:57:29.6486148Z           "complete": true,
2026-06-16T04:57:29.6486391Z           "evidence": [
2026-06-16T04:57:29.6486609Z             {
2026-06-16T04:57:29.6486829Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6487105Z               "line": 1015
2026-06-16T04:57:29.6487326Z             }
2026-06-16T04:57:29.6487525Z           ]
2026-06-16T04:57:29.6487716Z         },
2026-06-16T04:57:29.6487917Z         "int": {
2026-06-16T04:57:29.6488130Z           "complete": false,
2026-06-16T04:57:29.6488364Z           "evidence": []
2026-06-16T04:57:29.6488577Z         },
2026-06-16T04:57:29.6488769Z         "unit": {
2026-06-16T04:57:29.6489050Z           "complete": true,
2026-06-16T04:57:29.6489279Z           "evidence": [
2026-06-16T04:57:29.6489493Z             {
2026-06-16T04:57:29.6489722Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6489989Z               "line": 6643
2026-06-16T04:57:29.6490205Z             }
2026-06-16T04:57:29.6490399Z           ]
2026-06-16T04:57:29.6490595Z         }
2026-06-16T04:57:29.6490789Z       }
2026-06-16T04:57:29.6490978Z     },
2026-06-16T04:57:29.6491173Z     {
2026-06-16T04:57:29.6491373Z       "id": "REQ-CONSENT-1",
2026-06-16T04:57:29.6492466Z       "title": "Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)",
2026-06-16T04:57:29.6493510Z       "requiredStages": [
2026-06-16T04:57:29.6493732Z         "impl",
2026-06-16T04:57:29.6493935Z         "unit"
2026-06-16T04:57:29.6494131Z       ],
2026-06-16T04:57:29.6494326Z       "stages": {
2026-06-16T04:57:29.6494536Z         "doc": {
2026-06-16T04:57:29.6494756Z           "complete": false,
2026-06-16T04:57:29.6494995Z           "evidence": []
2026-06-16T04:57:29.6495218Z         },
2026-06-16T04:57:29.6495409Z         "impl": {
2026-06-16T04:57:29.6495625Z           "complete": true,
2026-06-16T04:57:29.6495963Z           "evidence": [
2026-06-16T04:57:29.6496294Z             {
2026-06-16T04:57:29.6496539Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6496826Z               "line": 27
2026-06-16T04:57:29.6497042Z             },
2026-06-16T04:57:29.6497237Z             {
2026-06-16T04:57:29.6497474Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6497751Z               "line": 75
2026-06-16T04:57:29.6497966Z             },
2026-06-16T04:57:29.6498162Z             {
2026-06-16T04:57:29.6498390Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6498666Z               "line": 98
2026-06-16T04:57:29.6498883Z             },
2026-06-16T04:57:29.6499157Z             {
2026-06-16T04:57:29.6499395Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6499676Z               "line": 82
2026-06-16T04:57:29.6499887Z             },
2026-06-16T04:57:29.6500082Z             {
2026-06-16T04:57:29.6500325Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6500611Z               "line": 109
2026-06-16T04:57:29.6500841Z             },
2026-06-16T04:57:29.6501046Z             {
2026-06-16T04:57:29.6501282Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6501562Z               "line": 127
2026-06-16T04:57:29.6501777Z             },
2026-06-16T04:57:29.6501976Z             {
2026-06-16T04:57:29.6502215Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6502492Z               "line": 142
2026-06-16T04:57:29.6502702Z             },
2026-06-16T04:57:29.6502906Z             {
2026-06-16T04:57:29.6503130Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6503407Z               "line": 6230
2026-06-16T04:57:29.6503623Z             }
2026-06-16T04:57:29.6503817Z           ]
2026-06-16T04:57:29.6504004Z         },
2026-06-16T04:57:29.6504197Z         "int": {
2026-06-16T04:57:29.6504419Z           "complete": false,
2026-06-16T04:57:29.6504673Z           "evidence": []
2026-06-16T04:57:29.6504906Z         },
2026-06-16T04:57:29.6505101Z         "unit": {
2026-06-16T04:57:29.6505316Z           "complete": true,
2026-06-16T04:57:29.6505550Z           "evidence": [
2026-06-16T04:57:29.6505768Z             {
2026-06-16T04:57:29.6506002Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6506284Z               "line": 334
2026-06-16T04:57:29.6506509Z             },
2026-06-16T04:57:29.6506697Z             {
2026-06-16T04:57:29.6506940Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6507206Z               "line": 380
2026-06-16T04:57:29.6507415Z             },
2026-06-16T04:57:29.6507612Z             {
2026-06-16T04:57:29.6507840Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6508121Z               "line": 391
2026-06-16T04:57:29.6508330Z             },
2026-06-16T04:57:29.6508526Z             {
2026-06-16T04:57:29.6508761Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6509114Z               "line": 165
2026-06-16T04:57:29.6509328Z             },
2026-06-16T04:57:29.6509522Z             {
2026-06-16T04:57:29.6509751Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6510018Z               "line": 184
2026-06-16T04:57:29.6510232Z             },
2026-06-16T04:57:29.6510428Z             {
2026-06-16T04:57:29.6510662Z               "path": "crates/spt-store/src/grants.rs",
2026-06-16T04:57:29.6510937Z               "line": 204
2026-06-16T04:57:29.6511157Z             },
2026-06-16T04:57:29.6511359Z             {
2026-06-16T04:57:29.6511581Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6511847Z               "line": 6996
2026-06-16T04:57:29.6512061Z             }
2026-06-16T04:57:29.6512255Z           ]
2026-06-16T04:57:29.6512456Z         }
2026-06-16T04:57:29.6512656Z       }
2026-06-16T04:57:29.6512850Z     },
2026-06-16T04:57:29.6513052Z     {
2026-06-16T04:57:29.6513357Z       "id": "REQ-CONSENT-2",
2026-06-16T04:57:29.6514464Z       "title": "Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)",
2026-06-16T04:57:29.6515423Z       "requiredStages": [
2026-06-16T04:57:29.6515642Z         "impl",
2026-06-16T04:57:29.6515829Z         "unit"
2026-06-16T04:57:29.6516027Z       ],
2026-06-16T04:57:29.6516219Z       "stages": {
2026-06-16T04:57:29.6516425Z         "doc": {
2026-06-16T04:57:29.6516634Z           "complete": false,
2026-06-16T04:57:29.6516872Z           "evidence": []
2026-06-16T04:57:29.6517097Z         },
2026-06-16T04:57:29.6517300Z         "impl": {
2026-06-16T04:57:29.6517509Z           "complete": true,
2026-06-16T04:57:29.6517737Z           "evidence": [
2026-06-16T04:57:29.6517941Z             {
2026-06-16T04:57:29.6518190Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6518481Z               "line": 140
2026-06-16T04:57:29.6518701Z             },
2026-06-16T04:57:29.6518890Z             {
2026-06-16T04:57:29.6519196Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6519472Z               "line": 165
2026-06-16T04:57:29.6519679Z             },
2026-06-16T04:57:29.6519888Z             {
2026-06-16T04:57:29.6520115Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6520398Z               "line": 199
2026-06-16T04:57:29.6520606Z             },
2026-06-16T04:57:29.6520806Z             {
2026-06-16T04:57:29.6521041Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6521317Z               "line": 241
2026-06-16T04:57:29.6521527Z             },
2026-06-16T04:57:29.6521722Z             {
2026-06-16T04:57:29.6521956Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6522234Z               "line": 269
2026-06-16T04:57:29.6522459Z             },
2026-06-16T04:57:29.6522653Z             {
2026-06-16T04:57:29.6522887Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6523173Z               "line": 300
2026-06-16T04:57:29.6523387Z             },
2026-06-16T04:57:29.6523583Z             {
2026-06-16T04:57:29.6523808Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6524084Z               "line": 6021
2026-06-16T04:57:29.6524308Z             },
2026-06-16T04:57:29.6524499Z             {
2026-06-16T04:57:29.6524719Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6524976Z               "line": 6079
2026-06-16T04:57:29.6525194Z             }
2026-06-16T04:57:29.6525389Z           ]
2026-06-16T04:57:29.6525578Z         },
2026-06-16T04:57:29.6525779Z         "int": {
2026-06-16T04:57:29.6525997Z           "complete": false,
2026-06-16T04:57:29.6526226Z           "evidence": []
2026-06-16T04:57:29.6526441Z         },
2026-06-16T04:57:29.6526641Z         "unit": {
2026-06-16T04:57:29.6526855Z           "complete": true,
2026-06-16T04:57:29.6527089Z           "evidence": [
2026-06-16T04:57:29.6527310Z             {
2026-06-16T04:57:29.6527561Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6527856Z               "line": 419
2026-06-16T04:57:29.6528074Z             },
2026-06-16T04:57:29.6528273Z             {
2026-06-16T04:57:29.6528511Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6528783Z               "line": 436
2026-06-16T04:57:29.6529065Z             },
2026-06-16T04:57:29.6529265Z             {
2026-06-16T04:57:29.6529499Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6529775Z               "line": 472
2026-06-16T04:57:29.6529999Z             },
2026-06-16T04:57:29.6530201Z             {
2026-06-16T04:57:29.6530448Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.6530728Z               "line": 516
2026-06-16T04:57:29.6531056Z             },
2026-06-16T04:57:29.6531356Z             {
2026-06-16T04:57:29.6531586Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6531868Z               "line": 8218
2026-06-16T04:57:29.6532087Z             },
2026-06-16T04:57:29.6532287Z             {
2026-06-16T04:57:29.6532512Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6532784Z               "line": 8300
2026-06-16T04:57:29.6533005Z             }
2026-06-16T04:57:29.6533195Z           ]
2026-06-16T04:57:29.6533399Z         }
2026-06-16T04:57:29.6533590Z       }
2026-06-16T04:57:29.6533781Z     },
2026-06-16T04:57:29.6533966Z     {
2026-06-16T04:57:29.6534172Z       "id": "REQ-CONSENT-3",
2026-06-16T04:57:29.6536367Z       "title": "Per-capability approval gates (class-keyed): the require_approval enum may ride INDIVIDUAL [shell.capabilities] entries — gating the dangerous ACT, not just the spawn — with an optional class_key scoping the grant qualifier finer than the capability id ((owner endpoint x device class x node); a remembered HID-class attach grant never authorizes a storage-class attach). Reuses the grant store + interactive escalation + tighten-only floor (REQ-CONSENT-1/2 plumbing). Spawn gates govern EXISTENCE; capability gates govern ACTS — an explicitly distinct invariant (CONTEXT:283, ratified 2026-06-11 Gateway grill).",
2026-06-16T04:57:29.6538131Z       "requiredStages": [
2026-06-16T04:57:29.6538364Z         "doc",
2026-06-16T04:57:29.6538573Z         "impl",
2026-06-16T04:57:29.6538775Z         "unit",
2026-06-16T04:57:29.6539047Z         "int"
2026-06-16T04:57:29.6539249Z       ],
2026-06-16T04:57:29.6539448Z       "stages": {
2026-06-16T04:57:29.6539663Z         "doc": {
2026-06-16T04:57:29.6539883Z           "complete": true,
2026-06-16T04:57:29.6540122Z           "evidence": [
2026-06-16T04:57:29.6540335Z             {
2026-06-16T04:57:29.6540559Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.6540804Z               "line": 285
2026-06-16T04:57:29.6541023Z             }
2026-06-16T04:57:29.6541231Z           ]
2026-06-16T04:57:29.6541431Z         },
2026-06-16T04:57:29.6541635Z         "impl": {
2026-06-16T04:57:29.6541879Z           "complete": true,
2026-06-16T04:57:29.6542118Z           "evidence": [
2026-06-16T04:57:29.6542337Z             {
2026-06-16T04:57:29.6542575Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.6542866Z               "line": 123
2026-06-16T04:57:29.6543091Z             },
2026-06-16T04:57:29.6543291Z             {
2026-06-16T04:57:29.6543533Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.6543821Z               "line": 162
2026-06-16T04:57:29.6544041Z             },
2026-06-16T04:57:29.6544250Z             {
2026-06-16T04:57:29.6544493Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.6544775Z               "line": 291
2026-06-16T04:57:29.6544990Z             },
2026-06-16T04:57:29.6545180Z             {
2026-06-16T04:57:29.6545432Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6545752Z               "line": 499
2026-06-16T04:57:29.6545967Z             },
2026-06-16T04:57:29.6546173Z             {
2026-06-16T04:57:29.6546414Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6546703Z               "line": 749
2026-06-16T04:57:29.6546918Z             },
2026-06-16T04:57:29.6547127Z             {
2026-06-16T04:57:29.6547346Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6547614Z               "line": 6147
2026-06-16T04:57:29.6547843Z             }
2026-06-16T04:57:29.6548052Z           ]
2026-06-16T04:57:29.6548238Z         },
2026-06-16T04:57:29.6548430Z         "int": {
2026-06-16T04:57:29.6548639Z           "complete": true,
2026-06-16T04:57:29.6548872Z           "evidence": [
2026-06-16T04:57:29.6549142Z             {
2026-06-16T04:57:29.6549398Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-16T04:57:29.6549703Z               "line": 16
2026-06-16T04:57:29.6550043Z             }
2026-06-16T04:57:29.6550338Z           ]
2026-06-16T04:57:29.6550542Z         },
2026-06-16T04:57:29.6550729Z         "unit": {
2026-06-16T04:57:29.6550958Z           "complete": true,
2026-06-16T04:57:29.6551191Z           "evidence": [
2026-06-16T04:57:29.6557920Z             {
2026-06-16T04:57:29.6558240Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.6558540Z               "line": 947
2026-06-16T04:57:29.6558770Z             },
2026-06-16T04:57:29.6559043Z             {
2026-06-16T04:57:29.6559281Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.6559578Z               "line": 994
2026-06-16T04:57:29.6559791Z             },
2026-06-16T04:57:29.6559987Z             {
2026-06-16T04:57:29.6560235Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6560520Z               "line": 1113
2026-06-16T04:57:29.6560745Z             }
2026-06-16T04:57:29.6560942Z           ]
2026-06-16T04:57:29.6561146Z         }
2026-06-16T04:57:29.6561336Z       }
2026-06-16T04:57:29.6561532Z     },
2026-06-16T04:57:29.6561722Z     {
2026-06-16T04:57:29.6561938Z       "id": "REQ-CONV-1",
2026-06-16T04:57:29.6563515Z       "title": "Peer address seeding, both cold starts: durable peer-addrs.json (identity dir) maps peer pubkey → last-known dialable address; the pump's resolver consults it FIRST with id-only discovery fallback on miss or dial failure (a stale addr never strands a peer); written by the pairing ceremony (both sides, from the live connection) and by the pump on successful connect; post-join first sync and post-restart resync converge in seconds, not ~1 min (M8 decisions 14, 20)",
2026-06-16T04:57:29.6564857Z       "requiredStages": [
2026-06-16T04:57:29.6565090Z         "impl",
2026-06-16T04:57:29.6565298Z         "unit"
2026-06-16T04:57:29.6565499Z       ],
2026-06-16T04:57:29.6565695Z       "stages": {
2026-06-16T04:57:29.6565905Z         "doc": {
2026-06-16T04:57:29.6566125Z           "complete": false,
2026-06-16T04:57:29.6566382Z           "evidence": []
2026-06-16T04:57:29.6566610Z         },
2026-06-16T04:57:29.6566810Z         "impl": {
2026-06-16T04:57:29.6567022Z           "complete": true,
2026-06-16T04:57:29.6567255Z           "evidence": [
2026-06-16T04:57:29.6567473Z             {
2026-06-16T04:57:29.6567710Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6568005Z               "line": 861
2026-06-16T04:57:29.6568228Z             },
2026-06-16T04:57:29.6568420Z             {
2026-06-16T04:57:29.6568658Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.6569024Z               "line": 94
2026-06-16T04:57:29.6569245Z             },
2026-06-16T04:57:29.6569453Z             {
2026-06-16T04:57:29.6569691Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.6569969Z               "line": 345
2026-06-16T04:57:29.6570187Z             },
2026-06-16T04:57:29.6570375Z             {
2026-06-16T04:57:29.6570620Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.6570919Z               "line": 387
2026-06-16T04:57:29.6571134Z             },
2026-06-16T04:57:29.6571329Z             {
2026-06-16T04:57:29.6571567Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.6571859Z               "line": 472
2026-06-16T04:57:29.6572073Z             },
2026-06-16T04:57:29.6572273Z             {
2026-06-16T04:57:29.6572512Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6572790Z               "line": 667
2026-06-16T04:57:29.6573006Z             },
2026-06-16T04:57:29.6573193Z             {
2026-06-16T04:57:29.6573431Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6573703Z               "line": 693
2026-06-16T04:57:29.6573922Z             },
2026-06-16T04:57:29.6574118Z             {
2026-06-16T04:57:29.6574357Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.6574643Z               "line": 369
2026-06-16T04:57:29.6575118Z             },
2026-06-16T04:57:29.6575473Z             {
2026-06-16T04:57:29.6575722Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T04:57:29.6576003Z               "line": 19
2026-06-16T04:57:29.6576211Z             }
2026-06-16T04:57:29.6576408Z           ]
2026-06-16T04:57:29.6576604Z         },
2026-06-16T04:57:29.6576798Z         "int": {
2026-06-16T04:57:29.6577018Z           "complete": false,
2026-06-16T04:57:29.6577262Z           "evidence": []
2026-06-16T04:57:29.6577480Z         },
2026-06-16T04:57:29.6577685Z         "unit": {
2026-06-16T04:57:29.6577892Z           "complete": true,
2026-06-16T04:57:29.6578128Z           "evidence": [
2026-06-16T04:57:29.6578340Z             {
2026-06-16T04:57:29.6578589Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6578870Z               "line": 1263
2026-06-16T04:57:29.6579161Z             },
2026-06-16T04:57:29.6579360Z             {
2026-06-16T04:57:29.6579599Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T04:57:29.6579904Z               "line": 108
2026-06-16T04:57:29.6580124Z             },
2026-06-16T04:57:29.6580323Z             {
2026-06-16T04:57:29.6580553Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T04:57:29.6580833Z               "line": 134
2026-06-16T04:57:29.6581045Z             },
2026-06-16T04:57:29.6581236Z             {
2026-06-16T04:57:29.6581475Z               "path": "crates/spt-store/src/peeraddrs.rs",
2026-06-16T04:57:29.6581757Z               "line": 144
2026-06-16T04:57:29.6581970Z             }
2026-06-16T04:57:29.6582165Z           ]
2026-06-16T04:57:29.6582357Z         }
2026-06-16T04:57:29.6582551Z       }
2026-06-16T04:57:29.6582744Z     },
2026-06-16T04:57:29.6582929Z     {
2026-06-16T04:57:29.6583133Z       "id": "REQ-CONV-2",
2026-06-16T04:57:29.6584416Z       "title": "Event-driven advertisement: endpoint online/offline transitions (ready-listener start/stop, rest-state transition, perch death) trigger an immediate advertise_local + peer push as a WAKE of the existing pump loop (no second advertisement path — epoch lease + visibility gates ride unchanged); the cadence stays the steady-state floor (M8 decision 15)",
2026-06-16T04:57:29.6585488Z       "requiredStages": [
2026-06-16T04:57:29.6585717Z         "impl",
2026-06-16T04:57:29.6585921Z         "unit"
2026-06-16T04:57:29.6586113Z       ],
2026-06-16T04:57:29.6586301Z       "stages": {
2026-06-16T04:57:29.6586510Z         "doc": {
2026-06-16T04:57:29.6586720Z           "complete": false,
2026-06-16T04:57:29.6586963Z           "evidence": []
2026-06-16T04:57:29.6587174Z         },
2026-06-16T04:57:29.6587363Z         "impl": {
2026-06-16T04:57:29.6587568Z           "complete": true,
2026-06-16T04:57:29.6587799Z           "evidence": [
2026-06-16T04:57:29.6588017Z             {
2026-06-16T04:57:29.6588260Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6588555Z               "line": 359
2026-06-16T04:57:29.6588783Z             },
2026-06-16T04:57:29.6589043Z             {
2026-06-16T04:57:29.6589305Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.6589601Z               "line": 119
2026-06-16T04:57:29.6589821Z             },
2026-06-16T04:57:29.6590021Z             {
2026-06-16T04:57:29.6590273Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.6590569Z               "line": 789
2026-06-16T04:57:29.6590793Z             },
2026-06-16T04:57:29.6590990Z             {
2026-06-16T04:57:29.6591235Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.6591538Z               "line": 800
2026-06-16T04:57:29.6591759Z             },
2026-06-16T04:57:29.6591954Z             {
2026-06-16T04:57:29.6592201Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.6592477Z               "line": 334
2026-06-16T04:57:29.6592697Z             },
2026-06-16T04:57:29.6592893Z             {
2026-06-16T04:57:29.6593116Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6593595Z               "line": 2709
2026-06-16T04:57:29.6593818Z             },
2026-06-16T04:57:29.6594008Z             {
2026-06-16T04:57:29.6594232Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6594494Z               "line": 2725
2026-06-16T04:57:29.6594722Z             },
2026-06-16T04:57:29.6594918Z             {
2026-06-16T04:57:29.6595147Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6595414Z               "line": 2784
2026-06-16T04:57:29.6595652Z             }
2026-06-16T04:57:29.6595840Z           ]
2026-06-16T04:57:29.6596039Z         },
2026-06-16T04:57:29.6596243Z         "int": {
2026-06-16T04:57:29.6596467Z           "complete": false,
2026-06-16T04:57:29.6596702Z           "evidence": []
2026-06-16T04:57:29.6596917Z         },
2026-06-16T04:57:29.6597114Z         "unit": {
2026-06-16T04:57:29.6597327Z           "complete": true,
2026-06-16T04:57:29.6597551Z           "evidence": [
2026-06-16T04:57:29.6597771Z             {
2026-06-16T04:57:29.6598024Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6598315Z               "line": 889
2026-06-16T04:57:29.6598534Z             },
2026-06-16T04:57:29.6598721Z             {
2026-06-16T04:57:29.6599027Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6599310Z               "line": 1014
2026-06-16T04:57:29.6599527Z             },
2026-06-16T04:57:29.6599724Z             {
2026-06-16T04:57:29.6599967Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.6600272Z               "line": 215
2026-06-16T04:57:29.6600481Z             }
2026-06-16T04:57:29.6600672Z           ]
2026-06-16T04:57:29.6600857Z         }
2026-06-16T04:57:29.6601044Z       }
2026-06-16T04:57:29.6601231Z     },
2026-06-16T04:57:29.6601415Z     {
2026-06-16T04:57:29.6601616Z       "id": "REQ-DAEMON-1",
2026-06-16T04:57:29.6601924Z       "title": "One per-machine spt-daemon owning all per-machine state",
2026-06-16T04:57:29.6602280Z       "requiredStages": [
2026-06-16T04:57:29.6602514Z         "impl",
2026-06-16T04:57:29.6602723Z         "unit",
2026-06-16T04:57:29.6602924Z         "int"
2026-06-16T04:57:29.6603124Z       ],
2026-06-16T04:57:29.6603310Z       "stages": {
2026-06-16T04:57:29.6603521Z         "doc": {
2026-06-16T04:57:29.6603734Z           "complete": false,
2026-06-16T04:57:29.6603973Z           "evidence": []
2026-06-16T04:57:29.6604188Z         },
2026-06-16T04:57:29.6604398Z         "impl": {
2026-06-16T04:57:29.6604610Z           "complete": true,
2026-06-16T04:57:29.6604845Z           "evidence": [
2026-06-16T04:57:29.6605069Z             {
2026-06-16T04:57:29.6605311Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6605602Z               "line": 229
2026-06-16T04:57:29.6605812Z             },
2026-06-16T04:57:29.6606013Z             {
2026-06-16T04:57:29.6606241Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6606532Z               "line": 12
2026-06-16T04:57:29.6606757Z             },
2026-06-16T04:57:29.6606960Z             {
2026-06-16T04:57:29.6607196Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6607473Z               "line": 16
2026-06-16T04:57:29.6607688Z             },
2026-06-16T04:57:29.6607896Z             {
2026-06-16T04:57:29.6608121Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6608413Z               "line": 259
2026-06-16T04:57:29.6608618Z             },
2026-06-16T04:57:29.6608817Z             {
2026-06-16T04:57:29.6609127Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6609404Z               "line": 24
2026-06-16T04:57:29.6609619Z             },
2026-06-16T04:57:29.6609817Z             {
2026-06-16T04:57:29.6610049Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6610159Z               "line": 136
2026-06-16T04:57:29.6610264Z             },
2026-06-16T04:57:29.6610483Z             {
2026-06-16T04:57:29.6610632Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6610847Z               "line": 153
2026-06-16T04:57:29.6610951Z             },
2026-06-16T04:57:29.6611055Z             {
2026-06-16T04:57:29.6611199Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6611318Z               "line": 202
2026-06-16T04:57:29.6611417Z             },
2026-06-16T04:57:29.6611509Z             {
2026-06-16T04:57:29.6611661Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6611757Z               "line": 234
2026-06-16T04:57:29.6611862Z             },
2026-06-16T04:57:29.6611961Z             {
2026-06-16T04:57:29.6612105Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T04:57:29.6612214Z               "line": 15
2026-06-16T04:57:29.6612317Z             },
2026-06-16T04:57:29.6612418Z             {
2026-06-16T04:57:29.6612545Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.6612668Z               "line": 183
2026-06-16T04:57:29.6612769Z             },
2026-06-16T04:57:29.6612870Z             {
2026-06-16T04:57:29.6613011Z               "path": "crates/spt/src/api/live.rs",
2026-06-16T04:57:29.6613127Z               "line": 13
2026-06-16T04:57:29.6613227Z             },
2026-06-16T04:57:29.6613331Z             {
2026-06-16T04:57:29.6613475Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.6613574Z               "line": 281
2026-06-16T04:57:29.6613679Z             },
2026-06-16T04:57:29.6613780Z             {
2026-06-16T04:57:29.6613932Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.6614043Z               "line": 369
2026-06-16T04:57:29.6614137Z             }
2026-06-16T04:57:29.6614242Z           ]
2026-06-16T04:57:29.6614343Z         },
2026-06-16T04:57:29.6614442Z         "int": {
2026-06-16T04:57:29.6614557Z           "complete": true,
2026-06-16T04:57:29.6614658Z           "evidence": [
2026-06-16T04:57:29.6614771Z             {
2026-06-16T04:57:29.6614958Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-16T04:57:29.6615072Z               "line": 2
2026-06-16T04:57:29.6615166Z             },
2026-06-16T04:57:29.6615270Z             {
2026-06-16T04:57:29.6615453Z               "path": "crates/spt-daemon/tests/daemon_lifecycle_real_brain.rs",
2026-06-16T04:57:29.6615566Z               "line": 16
2026-06-16T04:57:29.6615667Z             },
2026-06-16T04:57:29.6615763Z             {
2026-06-16T04:57:29.6615944Z               "path": "crates/spt/tests/live_bind_firsthost_e2e.rs",
2026-06-16T04:57:29.6616048Z               "line": 12
2026-06-16T04:57:29.6616157Z             },
2026-06-16T04:57:29.6616263Z             {
2026-06-16T04:57:29.6616415Z               "path": "crates/spt/tests/live_firsthost_e2e.rs",
2026-06-16T04:57:29.6616529Z               "line": 12
2026-06-16T04:57:29.6616636Z             }
2026-06-16T04:57:29.6616734Z           ]
2026-06-16T04:57:29.6616825Z         },
2026-06-16T04:57:29.6616941Z         "unit": {
2026-06-16T04:57:29.6617053Z           "complete": true,
2026-06-16T04:57:29.6617164Z           "evidence": [
2026-06-16T04:57:29.6617265Z             {
2026-06-16T04:57:29.6617411Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6617520Z               "line": 285
2026-06-16T04:57:29.6617621Z             },
2026-06-16T04:57:29.6617723Z             {
2026-06-16T04:57:29.6617852Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6617967Z               "line": 293
2026-06-16T04:57:29.6618071Z             },
2026-06-16T04:57:29.6618171Z             {
2026-06-16T04:57:29.6618315Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6618424Z               "line": 309
2026-06-16T04:57:29.6618525Z             },
2026-06-16T04:57:29.6618629Z             {
2026-06-16T04:57:29.6618772Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6618888Z               "line": 317
2026-06-16T04:57:29.6619149Z             },
2026-06-16T04:57:29.6619353Z             {
2026-06-16T04:57:29.6619498Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6619611Z               "line": 609
2026-06-16T04:57:29.6619716Z             },
2026-06-16T04:57:29.6619808Z             {
2026-06-16T04:57:29.6619954Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6620060Z               "line": 679
2026-06-16T04:57:29.6620166Z             },
2026-06-16T04:57:29.6620264Z             {
2026-06-16T04:57:29.6620407Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6620520Z               "line": 319
2026-06-16T04:57:29.6620614Z             },
2026-06-16T04:57:29.6620724Z             {
2026-06-16T04:57:29.6620868Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6620981Z               "line": 356
2026-06-16T04:57:29.6621077Z             },
2026-06-16T04:57:29.6621187Z             {
2026-06-16T04:57:29.6621333Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6621449Z               "line": 379
2026-06-16T04:57:29.6621553Z             },
2026-06-16T04:57:29.6621658Z             {
2026-06-16T04:57:29.6621801Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6621906Z               "line": 408
2026-06-16T04:57:29.6622036Z             },
2026-06-16T04:57:29.6622168Z             {
2026-06-16T04:57:29.6622317Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6622431Z               "line": 456
2026-06-16T04:57:29.6622526Z             },
2026-06-16T04:57:29.6622622Z             {
2026-06-16T04:57:29.6622770Z               "path": "crates/spt-daemon/src/livehost.rs",
2026-06-16T04:57:29.6622883Z               "line": 499
2026-06-16T04:57:29.6622982Z             },
2026-06-16T04:57:29.6623087Z             {
2026-06-16T04:57:29.6623232Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T04:57:29.6623339Z               "line": 106
2026-06-16T04:57:29.6623462Z             },
2026-06-16T04:57:29.6623557Z             {
2026-06-16T04:57:29.6623706Z               "path": "crates/spt-daemon/src/relay.rs",
2026-06-16T04:57:29.6623815Z               "line": 132
2026-06-16T04:57:29.6623910Z             },
2026-06-16T04:57:29.6624015Z             {
2026-06-16T04:57:29.6624153Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.6624254Z               "line": 404
2026-06-16T04:57:29.6624359Z             }
2026-06-16T04:57:29.6624463Z           ]
2026-06-16T04:57:29.6624573Z         }
2026-06-16T04:57:29.6624673Z       }
2026-06-16T04:57:29.6624778Z     },
2026-06-16T04:57:29.6624879Z     {
2026-06-16T04:57:29.6624998Z       "id": "REQ-DAEMON-2",
2026-06-16T04:57:29.6625159Z       "title": "Broker/brain split for seamless self-update",
2026-06-16T04:57:29.6625256Z       "requiredStages": [
2026-06-16T04:57:29.6625359Z         "impl",
2026-06-16T04:57:29.6625465Z         "unit",
2026-06-16T04:57:29.6625571Z         "int"
2026-06-16T04:57:29.6625679Z       ],
2026-06-16T04:57:29.6625792Z       "stages": {
2026-06-16T04:57:29.6625898Z         "doc": {
2026-06-16T04:57:29.6626008Z           "complete": true,
2026-06-16T04:57:29.6626121Z           "evidence": [
2026-06-16T04:57:29.6626217Z             {
2026-06-16T04:57:29.6626365Z               "path": "docs/TWO-HOST-RUNBOOK.md",
2026-06-16T04:57:29.6626479Z               "line": 250
2026-06-16T04:57:29.6626585Z             }
2026-06-16T04:57:29.6626685Z           ]
2026-06-16T04:57:29.6626789Z         },
2026-06-16T04:57:29.6626890Z         "impl": {
2026-06-16T04:57:29.6626990Z           "complete": true,
2026-06-16T04:57:29.6627099Z           "evidence": [
2026-06-16T04:57:29.6627200Z             {
2026-06-16T04:57:29.6627343Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6627443Z               "line": 23
2026-06-16T04:57:29.6627553Z             },
2026-06-16T04:57:29.6627657Z             {
2026-06-16T04:57:29.6627802Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6628100Z               "line": 795
2026-06-16T04:57:29.6628204Z             },
2026-06-16T04:57:29.6628297Z             {
2026-06-16T04:57:29.6628436Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6628542Z               "line": 820
2026-06-16T04:57:29.6628645Z             },
2026-06-16T04:57:29.6628746Z             {
2026-06-16T04:57:29.6628885Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6629046Z               "line": 1026
2026-06-16T04:57:29.6629152Z             },
2026-06-16T04:57:29.6629251Z             {
2026-06-16T04:57:29.6629390Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6629494Z               "line": 32
2026-06-16T04:57:29.6629594Z             },
2026-06-16T04:57:29.6629700Z             {
2026-06-16T04:57:29.6629833Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6629937Z               "line": 549
2026-06-16T04:57:29.6630044Z             },
2026-06-16T04:57:29.6630143Z             {
2026-06-16T04:57:29.6630291Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6630387Z               "line": 1055
2026-06-16T04:57:29.6630495Z             },
2026-06-16T04:57:29.6630591Z             {
2026-06-16T04:57:29.6630740Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6630857Z               "line": 1342
2026-06-16T04:57:29.6630957Z             },
2026-06-16T04:57:29.6631062Z             {
2026-06-16T04:57:29.6631202Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T04:57:29.6631308Z               "line": 11
2026-06-16T04:57:29.6631413Z             },
2026-06-16T04:57:29.6631517Z             {
2026-06-16T04:57:29.6631666Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6631766Z               "line": 148
2026-06-16T04:57:29.6631875Z             },
2026-06-16T04:57:29.6631976Z             {
2026-06-16T04:57:29.6632114Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6632228Z               "line": 311
2026-06-16T04:57:29.6632329Z             },
2026-06-16T04:57:29.6632429Z             {
2026-06-16T04:57:29.6632567Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6632686Z               "line": 13
2026-06-16T04:57:29.6632785Z             },
2026-06-16T04:57:29.6632896Z             {
2026-06-16T04:57:29.6633043Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6633148Z               "line": 27
2026-06-16T04:57:29.6633250Z             },
2026-06-16T04:57:29.6633353Z             {
2026-06-16T04:57:29.6633495Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6633605Z               "line": 130
2026-06-16T04:57:29.6633707Z             },
2026-06-16T04:57:29.6633807Z             {
2026-06-16T04:57:29.6633956Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6634065Z               "line": 610
2026-06-16T04:57:29.6634175Z             },
2026-06-16T04:57:29.6634299Z             {
2026-06-16T04:57:29.6634446Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6634552Z               "line": 779
2026-06-16T04:57:29.6634657Z             },
2026-06-16T04:57:29.6634761Z             {
2026-06-16T04:57:29.6634895Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6635000Z               "line": 923
2026-06-16T04:57:29.6635100Z             },
2026-06-16T04:57:29.6635205Z             {
2026-06-16T04:57:29.6635348Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6635473Z               "line": 1010
2026-06-16T04:57:29.6635576Z             },
2026-06-16T04:57:29.6635672Z             {
2026-06-16T04:57:29.6635817Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6635929Z               "line": 1129
2026-06-16T04:57:29.6636025Z             },
2026-06-16T04:57:29.6636127Z             {
2026-06-16T04:57:29.6636400Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T04:57:29.6636601Z               "line": 10
2026-06-16T04:57:29.6636706Z             }
2026-06-16T04:57:29.6636792Z           ]
2026-06-16T04:57:29.6636888Z         },
2026-06-16T04:57:29.6636982Z         "int": {
2026-06-16T04:57:29.6637097Z           "complete": true,
2026-06-16T04:57:29.6637207Z           "evidence": [
2026-06-16T04:57:29.6637306Z             {
2026-06-16T04:57:29.6637455Z               "path": "crates/spt-daemon/tests/broker.rs",
2026-06-16T04:57:29.6637560Z               "line": 17
2026-06-16T04:57:29.6637664Z             },
2026-06-16T04:57:29.6637765Z             {
2026-06-16T04:57:29.6637917Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T04:57:29.6638023Z               "line": 71
2026-06-16T04:57:29.6638127Z             },
2026-06-16T04:57:29.6638337Z             {
2026-06-16T04:57:29.6645399Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T04:57:29.6645555Z               "line": 91
2026-06-16T04:57:29.6645679Z             },
2026-06-16T04:57:29.6645784Z             {
2026-06-16T04:57:29.6645951Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T04:57:29.6646062Z               "line": 167
2026-06-16T04:57:29.6646165Z             },
2026-06-16T04:57:29.6646271Z             {
2026-06-16T04:57:29.6646433Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T04:57:29.6646547Z               "line": 209
2026-06-16T04:57:29.6646657Z             },
2026-06-16T04:57:29.6646762Z             {
2026-06-16T04:57:29.6646927Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-16T04:57:29.6647042Z               "line": 128
2026-06-16T04:57:29.6647137Z             },
2026-06-16T04:57:29.6647236Z             {
2026-06-16T04:57:29.6647386Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T04:57:29.6647504Z               "line": 59
2026-06-16T04:57:29.6647605Z             }
2026-06-16T04:57:29.6647700Z           ]
2026-06-16T04:57:29.6647814Z         },
2026-06-16T04:57:29.6647920Z         "unit": {
2026-06-16T04:57:29.6648043Z           "complete": true,
2026-06-16T04:57:29.6648152Z           "evidence": [
2026-06-16T04:57:29.6648249Z             {
2026-06-16T04:57:29.6648396Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T04:57:29.6648496Z               "line": 62
2026-06-16T04:57:29.6648607Z             },
2026-06-16T04:57:29.6648706Z             {
2026-06-16T04:57:29.6648839Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T04:57:29.6649025Z               "line": 76
2026-06-16T04:57:29.6649134Z             },
2026-06-16T04:57:29.6649234Z             {
2026-06-16T04:57:29.6649380Z               "path": "crates/spt-daemon/src/codec.rs",
2026-06-16T04:57:29.6649479Z               "line": 88
2026-06-16T04:57:29.6649585Z             },
2026-06-16T04:57:29.6649681Z             {
2026-06-16T04:57:29.6649823Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.6649938Z               "line": 294
2026-06-16T04:57:29.6650038Z             },
2026-06-16T04:57:29.6650137Z             {
2026-06-16T04:57:29.6650281Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6650390Z               "line": 771
2026-06-16T04:57:29.6650496Z             },
2026-06-16T04:57:29.6650596Z             {
2026-06-16T04:57:29.6650738Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6650840Z               "line": 779
2026-06-16T04:57:29.6650939Z             },
2026-06-16T04:57:29.6651044Z             {
2026-06-16T04:57:29.6651178Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6651287Z               "line": 796
2026-06-16T04:57:29.6651387Z             },
2026-06-16T04:57:29.6651493Z             {
2026-06-16T04:57:29.6651625Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6651745Z               "line": 850
2026-06-16T04:57:29.6651851Z             },
2026-06-16T04:57:29.6651949Z             {
2026-06-16T04:57:29.6652243Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6652443Z               "line": 1200
2026-06-16T04:57:29.6652543Z             },
2026-06-16T04:57:29.6652651Z             {
2026-06-16T04:57:29.6652796Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6652915Z               "line": 1212
2026-06-16T04:57:29.6653019Z             },
2026-06-16T04:57:29.6653125Z             {
2026-06-16T04:57:29.6653290Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T04:57:29.6653406Z               "line": 110
2026-06-16T04:57:29.6653506Z             },
2026-06-16T04:57:29.6653596Z             {
2026-06-16T04:57:29.6653735Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T04:57:29.6653844Z               "line": 143
2026-06-16T04:57:29.6653944Z             }
2026-06-16T04:57:29.6654050Z           ]
2026-06-16T04:57:29.6654149Z         }
2026-06-16T04:57:29.6654249Z       }
2026-06-16T04:57:29.6654355Z     },
2026-06-16T04:57:29.6654460Z     {
2026-06-16T04:57:29.6654578Z       "id": "REQ-DAEMON-3",
2026-06-16T04:57:29.6654763Z       "title": "Any api invocation auto-starts the daemon if absent",
2026-06-16T04:57:29.6654875Z       "requiredStages": [
2026-06-16T04:57:29.6654990Z         "impl",
2026-06-16T04:57:29.6655096Z         "unit",
2026-06-16T04:57:29.6655185Z         "int"
2026-06-16T04:57:29.6655290Z       ],
2026-06-16T04:57:29.6655396Z       "stages": {
2026-06-16T04:57:29.6655500Z         "doc": {
2026-06-16T04:57:29.6655615Z           "complete": false,
2026-06-16T04:57:29.6655720Z           "evidence": []
2026-06-16T04:57:29.6655824Z         },
2026-06-16T04:57:29.6655930Z         "impl": {
2026-06-16T04:57:29.6656044Z           "complete": true,
2026-06-16T04:57:29.6656148Z           "evidence": [
2026-06-16T04:57:29.6656254Z             {
2026-06-16T04:57:29.6656396Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6656516Z               "line": 14
2026-06-16T04:57:29.6656622Z             },
2026-06-16T04:57:29.6656725Z             {
2026-06-16T04:57:29.6656874Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T04:57:29.6656984Z               "line": 11
2026-06-16T04:57:29.6657083Z             },
2026-06-16T04:57:29.6657184Z             {
2026-06-16T04:57:29.6657322Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.6657426Z               "line": 297
2026-06-16T04:57:29.6657526Z             },
2026-06-16T04:57:29.6657636Z             {
2026-06-16T04:57:29.6657764Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6657874Z               "line": 1742
2026-06-16T04:57:29.6657974Z             },
2026-06-16T04:57:29.6658078Z             {
2026-06-16T04:57:29.6658209Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6658318Z               "line": 3828
2026-06-16T04:57:29.6658412Z             },
2026-06-16T04:57:29.6658518Z             {
2026-06-16T04:57:29.6658641Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6658751Z               "line": 3849
2026-06-16T04:57:29.6658867Z             }
2026-06-16T04:57:29.6659051Z           ]
2026-06-16T04:57:29.6659158Z         },
2026-06-16T04:57:29.6659257Z         "int": {
2026-06-16T04:57:29.6659361Z           "complete": true,
2026-06-16T04:57:29.6659477Z           "evidence": [
2026-06-16T04:57:29.6659576Z             {
2026-06-16T04:57:29.6659718Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6659818Z               "line": 49
2026-06-16T04:57:29.6659917Z             },
2026-06-16T04:57:29.6660025Z             {
2026-06-16T04:57:29.6660164Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.6660269Z               "line": 487
2026-06-16T04:57:29.6660368Z             }
2026-06-16T04:57:29.6660474Z           ]
2026-06-16T04:57:29.6660574Z         },
2026-06-16T04:57:29.6660678Z         "unit": {
2026-06-16T04:57:29.6660794Z           "complete": true,
2026-06-16T04:57:29.6661027Z           "evidence": [
2026-06-16T04:57:29.6661227Z             {
2026-06-16T04:57:29.6661375Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6661480Z               "line": 804
2026-06-16T04:57:29.6661585Z             },
2026-06-16T04:57:29.6661685Z             {
2026-06-16T04:57:29.6661814Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6661914Z               "line": 9302
2026-06-16T04:57:29.6662020Z             }
2026-06-16T04:57:29.6662124Z           ]
2026-06-16T04:57:29.6662224Z         }
2026-06-16T04:57:29.6662325Z       }
2026-06-16T04:57:29.6662420Z     },
2026-06-16T04:57:29.6662528Z     {
2026-06-16T04:57:29.6662632Z       "id": "REQ-DAEMON-4",
2026-06-16T04:57:29.6662779Z       "title": "Honor every KNOWN-HAZARDS invariant",
2026-06-16T04:57:29.6662887Z       "requiredStages": [
2026-06-16T04:57:29.6662993Z         "impl",
2026-06-16T04:57:29.6663089Z         "unit",
2026-06-16T04:57:29.6663188Z         "int"
2026-06-16T04:57:29.6663288Z       ],
2026-06-16T04:57:29.6663399Z       "stages": {
2026-06-16T04:57:29.6663517Z         "doc": {
2026-06-16T04:57:29.6663618Z           "complete": false,
2026-06-16T04:57:29.6663728Z           "evidence": []
2026-06-16T04:57:29.6663827Z         },
2026-06-16T04:57:29.6663937Z         "impl": {
2026-06-16T04:57:29.6664056Z           "complete": true,
2026-06-16T04:57:29.6664161Z           "evidence": [
2026-06-16T04:57:29.6664262Z             {
2026-06-16T04:57:29.6664409Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6664509Z               "line": 414
2026-06-16T04:57:29.6664610Z             },
2026-06-16T04:57:29.6664719Z             {
2026-06-16T04:57:29.6664867Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6664973Z               "line": 479
2026-06-16T04:57:29.6665076Z             },
2026-06-16T04:57:29.6665175Z             {
2026-06-16T04:57:29.6665323Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6665440Z               "line": 501
2026-06-16T04:57:29.6665546Z             }
2026-06-16T04:57:29.6665646Z           ]
2026-06-16T04:57:29.6665745Z         },
2026-06-16T04:57:29.6665855Z         "int": {
2026-06-16T04:57:29.6665960Z           "complete": true,
2026-06-16T04:57:29.6666065Z           "evidence": [
2026-06-16T04:57:29.6666175Z             {
2026-06-16T04:57:29.6666323Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-16T04:57:29.6666441Z               "line": 42
2026-06-16T04:57:29.6666538Z             }
2026-06-16T04:57:29.6666642Z           ]
2026-06-16T04:57:29.6666737Z         },
2026-06-16T04:57:29.6666843Z         "unit": {
2026-06-16T04:57:29.6666966Z           "complete": true,
2026-06-16T04:57:29.6667076Z           "evidence": [
2026-06-16T04:57:29.6667182Z             {
2026-06-16T04:57:29.6667324Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.6667444Z               "line": 428
2026-06-16T04:57:29.6667544Z             },
2026-06-16T04:57:29.6667648Z             {
2026-06-16T04:57:29.6667802Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6667901Z               "line": 907
2026-06-16T04:57:29.6668005Z             },
2026-06-16T04:57:29.6668105Z             {
2026-06-16T04:57:29.6668249Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6668353Z               "line": 977
2026-06-16T04:57:29.6668453Z             },
2026-06-16T04:57:29.6668554Z             {
2026-06-16T04:57:29.6668700Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6668802Z               "line": 1007
2026-06-16T04:57:29.6668902Z             },
2026-06-16T04:57:29.6669068Z             {
2026-06-16T04:57:29.6669211Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6669325Z               "line": 1040
2026-06-16T04:57:29.6669427Z             }
2026-06-16T04:57:29.6669530Z           ]
2026-06-16T04:57:29.6669635Z         }
2026-06-16T04:57:29.6669732Z       }
2026-06-16T04:57:29.6669931Z     },
2026-06-16T04:57:29.6670113Z     {
2026-06-16T04:57:29.6670236Z       "id": "REQ-DAEMON-5",
2026-06-16T04:57:29.6671664Z       "title": "Pump liveness: the peer pump writes a last-tick heartbeat consumed by daemon status / subnet status (decision 23 render legs in REQ-CLI-2/REQ-SUBNET-8); the daemon supervises the pump task — a panic is caught, logged loudly, and the pump restarts with capped backoff (≤5 min), so a 5.9-class death self-heals visibly instead of silently halving the daemon (M8 decision 23; field motivation: hfenduleam 2026-06-07 half-death)",
2026-06-16T04:57:29.6671769Z       "requiredStages": [
2026-06-16T04:57:29.6671873Z         "impl",
2026-06-16T04:57:29.6671979Z         "unit"
2026-06-16T04:57:29.6672078Z       ],
2026-06-16T04:57:29.6672183Z       "stages": {
2026-06-16T04:57:29.6672280Z         "doc": {
2026-06-16T04:57:29.6672398Z           "complete": false,
2026-06-16T04:57:29.6672507Z           "evidence": []
2026-06-16T04:57:29.6672609Z         },
2026-06-16T04:57:29.6672721Z         "impl": {
2026-06-16T04:57:29.6672846Z           "complete": true,
2026-06-16T04:57:29.6672957Z           "evidence": [
2026-06-16T04:57:29.6673060Z             {
2026-06-16T04:57:29.6673207Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6673307Z               "line": 476
2026-06-16T04:57:29.6673405Z             },
2026-06-16T04:57:29.6673500Z             {
2026-06-16T04:57:29.6673649Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6673767Z               "line": 769
2026-06-16T04:57:29.6673863Z             },
2026-06-16T04:57:29.6673968Z             {
2026-06-16T04:57:29.6674110Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6674221Z               "line": 782
2026-06-16T04:57:29.6674326Z             },
2026-06-16T04:57:29.6674425Z             {
2026-06-16T04:57:29.6674564Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6674664Z               "line": 800
2026-06-16T04:57:29.6674778Z             },
2026-06-16T04:57:29.6674879Z             {
2026-06-16T04:57:29.6675031Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6675137Z               "line": 841
2026-06-16T04:57:29.6675237Z             }
2026-06-16T04:57:29.6675346Z           ]
2026-06-16T04:57:29.6675442Z         },
2026-06-16T04:57:29.6675552Z         "int": {
2026-06-16T04:57:29.6675669Z           "complete": false,
2026-06-16T04:57:29.6675783Z           "evidence": []
2026-06-16T04:57:29.6675892Z         },
2026-06-16T04:57:29.6675995Z         "unit": {
2026-06-16T04:57:29.6676115Z           "complete": true,
2026-06-16T04:57:29.6676221Z           "evidence": [
2026-06-16T04:57:29.6676315Z             {
2026-06-16T04:57:29.6676464Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6676574Z               "line": 1189
2026-06-16T04:57:29.6676672Z             },
2026-06-16T04:57:29.6676769Z             {
2026-06-16T04:57:29.6676921Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6677035Z               "line": 1213
2026-06-16T04:57:29.6677145Z             },
2026-06-16T04:57:29.6677246Z             {
2026-06-16T04:57:29.6677394Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.6677498Z               "line": 1239
2026-06-16T04:57:29.6677598Z             }
2026-06-16T04:57:29.6677704Z           ]
2026-06-16T04:57:29.6677803Z         }
2026-06-16T04:57:29.6677903Z       }
2026-06-16T04:57:29.6677999Z     },
2026-06-16T04:57:29.6678104Z     {
2026-06-16T04:57:29.6678228Z       "id": "REQ-DAEMON-6",
2026-06-16T04:57:29.6680321Z       "title": "Service-aware `daemon start`/`stop`: when an OS service manager has a registered spt-daemon for this user, `spt daemon start` and `spt daemon stop` drive THAT service (so stop doesn't IPC-kill a unit that auto-restart-fights for the broker socket — the kitsubito 2026-06-08 loop). `start` graduates from a `run` alias to a first-class background verb (ensure-up, idempotent, non-blocking); stop routes managed→manager, manual→IPC. Linux=systemd user unit (`systemctl --user start|stop|is-active spt-daemon`, detected by unit-file presence); Windows=no controllable manager (the logon task is boot-only), so start=detached spawn / stop=IPC.",
2026-06-16T04:57:29.6680650Z       "requiredStages": [
2026-06-16T04:57:29.6680758Z         "impl",
2026-06-16T04:57:29.6680852Z         "unit"
2026-06-16T04:57:29.6680953Z       ],
2026-06-16T04:57:29.6681055Z       "stages": {
2026-06-16T04:57:29.6681160Z         "doc": {
2026-06-16T04:57:29.6681265Z           "complete": false,
2026-06-16T04:57:29.6681380Z           "evidence": []
2026-06-16T04:57:29.6681484Z         },
2026-06-16T04:57:29.6681585Z         "impl": {
2026-06-16T04:57:29.6681708Z           "complete": true,
2026-06-16T04:57:29.6681822Z           "evidence": [
2026-06-16T04:57:29.6681924Z             {
2026-06-16T04:57:29.6682075Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6682191Z               "line": 463
2026-06-16T04:57:29.6682290Z             },
2026-06-16T04:57:29.6682395Z             {
2026-06-16T04:57:29.6682539Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6682653Z               "line": 494
2026-06-16T04:57:29.6682753Z             },
2026-06-16T04:57:29.6682854Z             {
2026-06-16T04:57:29.6682996Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6683101Z               "line": 55
2026-06-16T04:57:29.6683202Z             },
2026-06-16T04:57:29.6683291Z             {
2026-06-16T04:57:29.6683431Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6683540Z               "line": 70
2026-06-16T04:57:29.6683639Z             },
2026-06-16T04:57:29.6683743Z             {
2026-06-16T04:57:29.6683867Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6683980Z               "line": 1796
2026-06-16T04:57:29.6684080Z             },
2026-06-16T04:57:29.6684181Z             {
2026-06-16T04:57:29.6684318Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6684433Z               "line": 1822
2026-06-16T04:57:29.6684538Z             }
2026-06-16T04:57:29.6684637Z           ]
2026-06-16T04:57:29.6684733Z         },
2026-06-16T04:57:29.6684833Z         "int": {
2026-06-16T04:57:29.6684947Z           "complete": false,
2026-06-16T04:57:29.6685048Z           "evidence": []
2026-06-16T04:57:29.6685148Z         },
2026-06-16T04:57:29.6685253Z         "unit": {
2026-06-16T04:57:29.6685363Z           "complete": true,
2026-06-16T04:57:29.6685468Z           "evidence": [
2026-06-16T04:57:29.6685572Z             {
2026-06-16T04:57:29.6685717Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6685820Z               "line": 288
2026-06-16T04:57:29.6685925Z             },
2026-06-16T04:57:29.6686026Z             {
2026-06-16T04:57:29.6686163Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6686276Z               "line": 299
2026-06-16T04:57:29.6686387Z             },
2026-06-16T04:57:29.6686494Z             {
2026-06-16T04:57:29.6686641Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6686738Z               "line": 325
2026-06-16T04:57:29.6686837Z             },
2026-06-16T04:57:29.6686942Z             {
2026-06-16T04:57:29.6687086Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6687195Z               "line": 351
2026-06-16T04:57:29.6687290Z             }
2026-06-16T04:57:29.6687396Z           ]
2026-06-16T04:57:29.6687495Z         }
2026-06-16T04:57:29.6687600Z       }
2026-06-16T04:57:29.6687696Z     },
2026-06-16T04:57:29.6687801Z     {
2026-06-16T04:57:29.6687915Z       "id": "REQ-DAEMON-7",
2026-06-16T04:57:29.6689449Z       "title": "`daemon run` is foreground-consistent on every platform: the invoking process IS the daemon, blocks until signalled, never auto-detaches or respawns into an invisible background task. The detached/de-elevated background behavior lives ONLY in `start`. Windows: an ELEVATED `daemon run` refuses with guidance (use `start`, or an unelevated shell) instead of respawning detached/de-elevated and vanishing (KH 5.7 preserved — it still never serves elevated).",
2026-06-16T04:57:29.6689773Z       "requiredStages": [
2026-06-16T04:57:29.6689879Z         "impl",
2026-06-16T04:57:29.6689978Z         "unit"
2026-06-16T04:57:29.6690087Z       ],
2026-06-16T04:57:29.6690189Z       "stages": {
2026-06-16T04:57:29.6690293Z         "doc": {
2026-06-16T04:57:29.6690407Z           "complete": false,
2026-06-16T04:57:29.6690518Z           "evidence": []
2026-06-16T04:57:29.6690613Z         },
2026-06-16T04:57:29.6690717Z         "impl": {
2026-06-16T04:57:29.6690824Z           "complete": true,
2026-06-16T04:57:29.6690923Z           "evidence": [
2026-06-16T04:57:29.6691028Z             {
2026-06-16T04:57:29.6691172Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6691285Z               "line": 513
2026-06-16T04:57:29.6691389Z             },
2026-06-16T04:57:29.6691503Z             {
2026-06-16T04:57:29.6691644Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.6691748Z               "line": 601
2026-06-16T04:57:29.6691859Z             },
2026-06-16T04:57:29.6691959Z             {
2026-06-16T04:57:29.6692097Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6692202Z               "line": 89
2026-06-16T04:57:29.6692301Z             },
2026-06-16T04:57:29.6692407Z             {
2026-06-16T04:57:29.6692536Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6692640Z               "line": 1743
2026-06-16T04:57:29.6692746Z             }
2026-06-16T04:57:29.6692850Z           ]
2026-06-16T04:57:29.6692950Z         },
2026-06-16T04:57:29.6693046Z         "int": {
2026-06-16T04:57:29.6693156Z           "complete": false,
2026-06-16T04:57:29.6693255Z           "evidence": []
2026-06-16T04:57:29.6693356Z         },
2026-06-16T04:57:29.6693457Z         "unit": {
2026-06-16T04:57:29.6693570Z           "complete": true,
2026-06-16T04:57:29.6693686Z           "evidence": [
2026-06-16T04:57:29.6693786Z             {
2026-06-16T04:57:29.6693923Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6694029Z               "line": 314
2026-06-16T04:57:29.6694133Z             },
2026-06-16T04:57:29.6694237Z             {
2026-06-16T04:57:29.6694370Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6694478Z               "line": 6816
2026-06-16T04:57:29.6694582Z             }
2026-06-16T04:57:29.6694683Z           ]
2026-06-16T04:57:29.6694784Z         }
2026-06-16T04:57:29.6694888Z       }
2026-06-16T04:57:29.6694988Z     },
2026-06-16T04:57:29.6695088Z     {
2026-06-16T04:57:29.6695207Z       "id": "REQ-DAEMON-8",
2026-06-16T04:57:29.6696199Z       "title": "Internal auto-start prefers the service: `ensure_running` (any spt command's implicit daemon start, REQ-DAEMON-3) routes through the service-aware start path — when a manager has a registered service it starts THAT, never a competing manual `spawn_detached` daemon that would fight the service for the socket.",
2026-06-16T04:57:29.6696333Z       "requiredStages": [
2026-06-16T04:57:29.6696437Z         "impl",
2026-06-16T04:57:29.6696543Z         "unit"
2026-06-16T04:57:29.6696644Z       ],
2026-06-16T04:57:29.6696752Z       "stages": {
2026-06-16T04:57:29.6696856Z         "doc": {
2026-06-16T04:57:29.6696975Z           "complete": false,
2026-06-16T04:57:29.6697092Z           "evidence": []
2026-06-16T04:57:29.6697192Z         },
2026-06-16T04:57:29.6697303Z         "impl": {
2026-06-16T04:57:29.6697407Z           "complete": true,
2026-06-16T04:57:29.6697512Z           "evidence": [
2026-06-16T04:57:29.6697613Z             {
2026-06-16T04:57:29.6697764Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6697870Z               "line": 413
2026-06-16T04:57:29.6697970Z             },
2026-06-16T04:57:29.6698069Z             {
2026-06-16T04:57:29.6698218Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6698475Z               "line": 56
2026-06-16T04:57:29.6698580Z             }
2026-06-16T04:57:29.6698675Z           ]
2026-06-16T04:57:29.6698775Z         },
2026-06-16T04:57:29.6698881Z         "int": {
2026-06-16T04:57:29.6699061Z           "complete": false,
2026-06-16T04:57:29.6699186Z           "evidence": []
2026-06-16T04:57:29.6699280Z         },
2026-06-16T04:57:29.6699376Z         "unit": {
2026-06-16T04:57:29.6699488Z           "complete": true,
2026-06-16T04:57:29.6699591Z           "evidence": [
2026-06-16T04:57:29.6699694Z             {
2026-06-16T04:57:29.6699843Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6699948Z               "line": 288
2026-06-16T04:57:29.6700052Z             },
2026-06-16T04:57:29.6700148Z             {
2026-06-16T04:57:29.6700291Z               "path": "crates/spt-daemon/src/service.rs",
2026-06-16T04:57:29.6700400Z               "line": 325
2026-06-16T04:57:29.6700506Z             }
2026-06-16T04:57:29.6700606Z           ]
2026-06-16T04:57:29.6700706Z         }
2026-06-16T04:57:29.6700816Z       }
2026-06-16T04:57:29.6700916Z     },
2026-06-16T04:57:29.6701020Z     {
2026-06-16T04:57:29.6701135Z       "id": "REQ-DAEMON-9",
2026-06-16T04:57:29.6706936Z       "title": "Net-bind boot-race resilience: a daemon that comes up net-less (NetHost::start failed — e.g. the systemd unit autostarted before the network/DNS stack was ready, `Failed to create an address lookup service`) must SELF-HEAL — retry the net bring-up in the background with capped backoff and, on success, attach net to the broker + spawn the dispatcher/peer-pump (which today are gated on `net_up` at boot and so never start, leaving the node silently unreachable until a manual restart — kitsubito 2026-06-08). Status surfaces the net-less state honestly (a net-less broker renders as 'no connection', not only a pump-STALLED line with a bogus pre-boot heartbeat age). The installer's autostart unit waits for the network (`Wants=/After=network-online.target`) as belt-and-suspenders.",
2026-06-16T04:57:29.6707132Z       "requiredStages": [
2026-06-16T04:57:29.6707241Z         "impl",
2026-06-16T04:57:29.6707345Z         "unit"
2026-06-16T04:57:29.6707450Z       ],
2026-06-16T04:57:29.6707549Z       "stages": {
2026-06-16T04:57:29.6707648Z         "doc": {
2026-06-16T04:57:29.6707771Z           "complete": false,
2026-06-16T04:57:29.6707877Z           "evidence": []
2026-06-16T04:57:29.6707977Z         },
2026-06-16T04:57:29.6708067Z         "impl": {
2026-06-16T04:57:29.6708177Z           "complete": true,
2026-06-16T04:57:29.6708286Z           "evidence": [
2026-06-16T04:57:29.6708386Z             {
2026-06-16T04:57:29.6708540Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6708649Z               "line": 276
2026-06-16T04:57:29.6708750Z             },
2026-06-16T04:57:29.6708849Z             {
2026-06-16T04:57:29.6709079Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6709192Z               "line": 600
2026-06-16T04:57:29.6709297Z             },
2026-06-16T04:57:29.6709399Z             {
2026-06-16T04:57:29.6709535Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6709650Z               "line": 192
2026-06-16T04:57:29.6709752Z             },
2026-06-16T04:57:29.6709855Z             {
2026-06-16T04:57:29.6710004Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6710109Z               "line": 312
2026-06-16T04:57:29.6710217Z             },
2026-06-16T04:57:29.6710317Z             {
2026-06-16T04:57:29.6710461Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6710578Z               "line": 349
2026-06-16T04:57:29.6710680Z             },
2026-06-16T04:57:29.6710784Z             {
2026-06-16T04:57:29.6710903Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6711014Z               "line": 1851
2026-06-16T04:57:29.6711113Z             }
2026-06-16T04:57:29.6711213Z           ]
2026-06-16T04:57:29.6711476Z         },
2026-06-16T04:57:29.6711672Z         "int": {
2026-06-16T04:57:29.6711790Z           "complete": false,
2026-06-16T04:57:29.6711895Z           "evidence": []
2026-06-16T04:57:29.6712001Z         },
2026-06-16T04:57:29.6712100Z         "unit": {
2026-06-16T04:57:29.6712239Z           "complete": true,
2026-06-16T04:57:29.6712368Z           "evidence": [
2026-06-16T04:57:29.6712466Z             {
2026-06-16T04:57:29.6712614Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6712718Z               "line": 760
2026-06-16T04:57:29.6712821Z             },
2026-06-16T04:57:29.6712922Z             {
2026-06-16T04:57:29.6713047Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6713155Z               "line": 9167
2026-06-16T04:57:29.6713260Z             }
2026-06-16T04:57:29.6713361Z           ]
2026-06-16T04:57:29.6713465Z         }
2026-06-16T04:57:29.6713557Z       }
2026-06-16T04:57:29.6713656Z     },
2026-06-16T04:57:29.6713756Z     {
2026-06-16T04:57:29.6713872Z       "id": "REQ-DOCS-1",
2026-06-16T04:57:29.6714103Z       "title": "Dual-audience docs (human + AI dev-agent), markdown once / two depths",
2026-06-16T04:57:29.6714224Z       "requiredStages": [
2026-06-16T04:57:29.6714328Z         "doc",
2026-06-16T04:57:29.6714433Z         "impl"
2026-06-16T04:57:29.6714534Z       ],
2026-06-16T04:57:29.6714638Z       "stages": {
2026-06-16T04:57:29.6714743Z         "doc": {
2026-06-16T04:57:29.6714854Z           "complete": true,
2026-06-16T04:57:29.6714962Z           "evidence": [
2026-06-16T04:57:29.6715058Z             {
2026-06-16T04:57:29.6715183Z               "path": "docs-site/src/index.md",
2026-06-16T04:57:29.6715287Z               "line": 50
2026-06-16T04:57:29.6715390Z             }
2026-06-16T04:57:29.6715486Z           ]
2026-06-16T04:57:29.6715590Z         },
2026-06-16T04:57:29.6715688Z         "impl": {
2026-06-16T04:57:29.6715794Z           "complete": true,
2026-06-16T04:57:29.6715909Z           "evidence": [
2026-06-16T04:57:29.6716017Z             {
2026-06-16T04:57:29.6716176Z               "path": ".github/workflows/docs-publish.yml",
2026-06-16T04:57:29.6716280Z               "line": 12
2026-06-16T04:57:29.6716389Z             },
2026-06-16T04:57:29.6716491Z             {
2026-06-16T04:57:29.6716627Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.6716738Z               "line": 14
2026-06-16T04:57:29.6716829Z             }
2026-06-16T04:57:29.6716928Z           ]
2026-06-16T04:57:29.6717033Z         },
2026-06-16T04:57:29.6717134Z         "int": {
2026-06-16T04:57:29.6717253Z           "complete": false,
2026-06-16T04:57:29.6717363Z           "evidence": []
2026-06-16T04:57:29.6717463Z         },
2026-06-16T04:57:29.6717567Z         "unit": {
2026-06-16T04:57:29.6717683Z           "complete": false,
2026-06-16T04:57:29.6717792Z           "evidence": []
2026-06-16T04:57:29.6717886Z         }
2026-06-16T04:57:29.6717995Z       }
2026-06-16T04:57:29.6718100Z     },
2026-06-16T04:57:29.6718203Z     {
2026-06-16T04:57:29.6718312Z       "id": "REQ-DOCS-2",
2026-06-16T04:57:29.6718513Z       "title": "Sub-10-minute runnable killer quickstart per audience",
2026-06-16T04:57:29.6718632Z       "requiredStages": [
2026-06-16T04:57:29.6718728Z         "doc",
2026-06-16T04:57:29.6718832Z         "int"
2026-06-16T04:57:29.6718932Z       ],
2026-06-16T04:57:29.6719114Z       "stages": {
2026-06-16T04:57:29.6719223Z         "doc": {
2026-06-16T04:57:29.6719344Z           "complete": true,
2026-06-16T04:57:29.6719447Z           "evidence": [
2026-06-16T04:57:29.6719548Z             {
2026-06-16T04:57:29.6719752Z               "path": "docs-site/src/harness-contract/integration-checklist.md",
2026-06-16T04:57:29.6719857Z               "line": 3
2026-06-16T04:57:29.6719954Z             },
2026-06-16T04:57:29.6720048Z             {
2026-06-16T04:57:29.6720196Z               "path": "docs-site/src/quickstart/adapter.md",
2026-06-16T04:57:29.6720303Z               "line": 3
2026-06-16T04:57:29.6720400Z             },
2026-06-16T04:57:29.6720617Z             {
2026-06-16T04:57:29.6720862Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-16T04:57:29.6720978Z               "line": 3
2026-06-16T04:57:29.6721072Z             }
2026-06-16T04:57:29.6721167Z           ]
2026-06-16T04:57:29.6721273Z         },
2026-06-16T04:57:29.6721378Z         "impl": {
2026-06-16T04:57:29.6721491Z           "complete": false,
2026-06-16T04:57:29.6721597Z           "evidence": []
2026-06-16T04:57:29.6721702Z         },
2026-06-16T04:57:29.6721806Z         "int": {
2026-06-16T04:57:29.6721922Z           "complete": true,
2026-06-16T04:57:29.6722026Z           "evidence": [
2026-06-16T04:57:29.6722126Z             {
2026-06-16T04:57:29.6722289Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T04:57:29.6722398Z               "line": 14
2026-06-16T04:57:29.6722499Z             }
2026-06-16T04:57:29.6722604Z           ]
2026-06-16T04:57:29.6722703Z         },
2026-06-16T04:57:29.6722809Z         "unit": {
2026-06-16T04:57:29.6722928Z           "complete": false,
2026-06-16T04:57:29.6723050Z           "evidence": []
2026-06-16T04:57:29.6723150Z         }
2026-06-16T04:57:29.6723254Z       }
2026-06-16T04:57:29.6723348Z     },
2026-06-16T04:57:29.6723443Z     {
2026-06-16T04:57:29.6723559Z       "id": "REQ-DOCS-3",
2026-06-16T04:57:29.6723811Z       "title": "Diátaxis structure; one canonical way to do X",
2026-06-16T04:57:29.6723935Z       "requiredStages": [
2026-06-16T04:57:29.6724039Z         "doc"
2026-06-16T04:57:29.6724145Z       ],
2026-06-16T04:57:29.6724245Z       "stages": {
2026-06-16T04:57:29.6724354Z         "doc": {
2026-06-16T04:57:29.6724474Z           "complete": true,
2026-06-16T04:57:29.6724574Z           "evidence": [
2026-06-16T04:57:29.6724683Z             {
2026-06-16T04:57:29.6724822Z               "path": "docs-site/src/index.md",
2026-06-16T04:57:29.6724931Z               "line": 42
2026-06-16T04:57:29.6725022Z             }
2026-06-16T04:57:29.6725118Z           ]
2026-06-16T04:57:29.6725231Z         },
2026-06-16T04:57:29.6725332Z         "impl": {
2026-06-16T04:57:29.6725452Z           "complete": false,
2026-06-16T04:57:29.6725551Z           "evidence": []
2026-06-16T04:57:29.6725657Z         },
2026-06-16T04:57:29.6725762Z         "int": {
2026-06-16T04:57:29.6725875Z           "complete": false,
2026-06-16T04:57:29.6725979Z           "evidence": []
2026-06-16T04:57:29.6726079Z         },
2026-06-16T04:57:29.6726178Z         "unit": {
2026-06-16T04:57:29.6726287Z           "complete": false,
2026-06-16T04:57:29.6726397Z           "evidence": []
2026-06-16T04:57:29.6726497Z         }
2026-06-16T04:57:29.6726601Z       }
2026-06-16T04:57:29.6726707Z     },
2026-06-16T04:57:29.6726808Z     {
2026-06-16T04:57:29.6726925Z       "id": "REQ-DOCS-4",
2026-06-16T04:57:29.6727151Z       "title": "Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)",
2026-06-16T04:57:29.6727269Z       "requiredStages": [
2026-06-16T04:57:29.6727370Z         "doc",
2026-06-16T04:57:29.6727480Z         "impl",
2026-06-16T04:57:29.6727579Z         "unit"
2026-06-16T04:57:29.6727690Z       ],
2026-06-16T04:57:29.6727793Z       "stages": {
2026-06-16T04:57:29.6727894Z         "doc": {
2026-06-16T04:57:29.6728014Z           "complete": true,
2026-06-16T04:57:29.6728103Z           "evidence": [
2026-06-16T04:57:29.6728209Z             {
2026-06-16T04:57:29.6728334Z               "path": "docs/DOCS-STRATEGY.md",
2026-06-16T04:57:29.6728441Z               "line": 35
2026-06-16T04:57:29.6728550Z             }
2026-06-16T04:57:29.6728651Z           ]
2026-06-16T04:57:29.6728753Z         },
2026-06-16T04:57:29.6728858Z         "impl": {
2026-06-16T04:57:29.6729050Z           "complete": true,
2026-06-16T04:57:29.6729149Z           "evidence": [
2026-06-16T04:57:29.6729255Z             {
2026-06-16T04:57:29.6729406Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6729516Z               "line": 671
2026-06-16T04:57:29.6729622Z             },
2026-06-16T04:57:29.6729717Z             {
2026-06-16T04:57:29.6729965Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.6730194Z               "line": 15
2026-06-16T04:57:29.6730294Z             }
2026-06-16T04:57:29.6730398Z           ]
2026-06-16T04:57:29.6730500Z         },
2026-06-16T04:57:29.6730599Z         "int": {
2026-06-16T04:57:29.6730713Z           "complete": false,
2026-06-16T04:57:29.6730829Z           "evidence": []
2026-06-16T04:57:29.6730923Z         },
2026-06-16T04:57:29.6731018Z         "unit": {
2026-06-16T04:57:29.6731248Z           "complete": true,
2026-06-16T04:57:29.6731375Z           "evidence": [
2026-06-16T04:57:29.6738387Z             {
2026-06-16T04:57:29.6738593Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6738697Z               "line": 1377
2026-06-16T04:57:29.6738803Z             }
2026-06-16T04:57:29.6738908Z           ]
2026-06-16T04:57:29.6739101Z         }
2026-06-16T04:57:29.6739197Z       }
2026-06-16T04:57:29.6739300Z     },
2026-06-16T04:57:29.6739418Z     {
2026-06-16T04:57:29.6739524Z       "id": "REQ-DOCS-5",
2026-06-16T04:57:29.6739776Z       "title": "Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked",
2026-06-16T04:57:29.6739891Z       "requiredStages": [
2026-06-16T04:57:29.6739995Z         "impl",
2026-06-16T04:57:29.6740091Z         "int"
2026-06-16T04:57:29.6740182Z       ],
2026-06-16T04:57:29.6740287Z       "stages": {
2026-06-16T04:57:29.6740391Z         "doc": {
2026-06-16T04:57:29.6740516Z           "complete": false,
2026-06-16T04:57:29.6740625Z           "evidence": []
2026-06-16T04:57:29.6740730Z         },
2026-06-16T04:57:29.6740835Z         "impl": {
2026-06-16T04:57:29.6740940Z           "complete": true,
2026-06-16T04:57:29.6741060Z           "evidence": [
2026-06-16T04:57:29.6741164Z             {
2026-06-16T04:57:29.6741326Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6741437Z               "line": 672
2026-06-16T04:57:29.6741530Z             },
2026-06-16T04:57:29.6741636Z             {
2026-06-16T04:57:29.6741761Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.6741883Z               "line": 113
2026-06-16T04:57:29.6741987Z             }
2026-06-16T04:57:29.6742098Z           ]
2026-06-16T04:57:29.6742197Z         },
2026-06-16T04:57:29.6742321Z         "int": {
2026-06-16T04:57:29.6742460Z           "complete": true,
2026-06-16T04:57:29.6742569Z           "evidence": [
2026-06-16T04:57:29.6742665Z             {
2026-06-16T04:57:29.6742794Z               "path": ".github/workflows/ci.yml",
2026-06-16T04:57:29.6742903Z               "line": 126
2026-06-16T04:57:29.6743004Z             },
2026-06-16T04:57:29.6743113Z             {
2026-06-16T04:57:29.6743260Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.6743367Z               "line": 1414
2026-06-16T04:57:29.6743471Z             }
2026-06-16T04:57:29.6743570Z           ]
2026-06-16T04:57:29.6743677Z         },
2026-06-16T04:57:29.6743780Z         "unit": {
2026-06-16T04:57:29.6743904Z           "complete": false,
2026-06-16T04:57:29.6744029Z           "evidence": []
2026-06-16T04:57:29.6744128Z         }
2026-06-16T04:57:29.6744227Z       }
2026-06-16T04:57:29.6744323Z     },
2026-06-16T04:57:29.6744421Z     {
2026-06-16T04:57:29.6744530Z       "id": "REQ-DOCS-6",
2026-06-16T04:57:29.6744893Z       "title": "spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)",
2026-06-16T04:57:29.6745008Z       "requiredStages": [
2026-06-16T04:57:29.6745117Z         "impl",
2026-06-16T04:57:29.6745217Z         "unit",
2026-06-16T04:57:29.6745322Z         "int"
2026-06-16T04:57:29.6745422Z       ],
2026-06-16T04:57:29.6745518Z       "stages": {
2026-06-16T04:57:29.6745613Z         "doc": {
2026-06-16T04:57:29.6745732Z           "complete": true,
2026-06-16T04:57:29.6745842Z           "evidence": [
2026-06-16T04:57:29.6745938Z             {
2026-06-16T04:57:29.6746099Z               "path": "docs-site/src/quickstart/messaging.md",
2026-06-16T04:57:29.6746352Z               "line": 4
2026-06-16T04:57:29.6746549Z             }
2026-06-16T04:57:29.6746652Z           ]
2026-06-16T04:57:29.6746757Z         },
2026-06-16T04:57:29.6746868Z         "impl": {
2026-06-16T04:57:29.6746991Z           "complete": true,
2026-06-16T04:57:29.6747099Z           "evidence": [
2026-06-16T04:57:29.6747209Z             {
2026-06-16T04:57:29.6747331Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6747445Z               "line": 4730
2026-06-16T04:57:29.6747546Z             }
2026-06-16T04:57:29.6747641Z           ]
2026-06-16T04:57:29.6747741Z         },
2026-06-16T04:57:29.6747847Z         "int": {
2026-06-16T04:57:29.6747951Z           "complete": true,
2026-06-16T04:57:29.6748060Z           "evidence": [
2026-06-16T04:57:29.6748166Z             {
2026-06-16T04:57:29.6748323Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T04:57:29.6748433Z               "line": 39
2026-06-16T04:57:29.6748533Z             }
2026-06-16T04:57:29.6748642Z           ]
2026-06-16T04:57:29.6748758Z         },
2026-06-16T04:57:29.6748848Z         "unit": {
2026-06-16T04:57:29.6749043Z           "complete": true,
2026-06-16T04:57:29.6749149Z           "evidence": [
2026-06-16T04:57:29.6749247Z             {
2026-06-16T04:57:29.6749383Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6749492Z               "line": 9329
2026-06-16T04:57:29.6749595Z             }
2026-06-16T04:57:29.6749695Z           ]
2026-06-16T04:57:29.6749799Z         }
2026-06-16T04:57:29.6749897Z       }
2026-06-16T04:57:29.6749997Z     },
2026-06-16T04:57:29.6750099Z     {
2026-06-16T04:57:29.6750212Z       "id": "REQ-ELEVATE-1",
2026-06-16T04:57:29.6753448Z       "title": "Cross-platform self-elevating re-launch for privilege-gated commands: a pure decision seam `decide_elevation_path(os, elevation, interactive_tty, has_display, has_pkexec, has_term_emulator) -> ElevatePath{AlreadyElevated, InlineSudo, UacWindow, Pkexec, TerminalEmulator, PrintHint}` selecting how to re-acquire privilege, and the per-OS impure launchers it dispatches — Windows UAC console (ShellExecuteW `runas` on the abs-exe + verbatim argv; the elevated child does the work, prints 'You can close this window', and pauses for a keypress; the original prints 'Elevated terminal launched…' and exits 0; NEVER pipes the child's stdout back across the privilege boundary), Linux desktop pkexec (preferred, native polkit GUI auth) else x-terminal-emulator -e sudo (fallback list x-terminal-emulator→gnome-terminal→konsole→xterm), the existing interactive-TTY inline sudo, and the headless/no-path floor that prints the absolute-path command. Reused by every gated command (not subnet-specific). Generalizes should_auto_elevate.",
2026-06-16T04:57:29.6753603Z       "requiredStages": [
2026-06-16T04:57:29.6753702Z         "doc",
2026-06-16T04:57:29.6753807Z         "impl",
2026-06-16T04:57:29.6753908Z         "unit"
2026-06-16T04:57:29.6754007Z       ],
2026-06-16T04:57:29.6754116Z       "stages": {
2026-06-16T04:57:29.6754223Z         "doc": {
2026-06-16T04:57:29.6754345Z           "complete": true,
2026-06-16T04:57:29.6754460Z           "evidence": [
2026-06-16T04:57:29.6754566Z             {
2026-06-16T04:57:29.6754683Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.6754792Z               "line": 632
2026-06-16T04:57:29.6754893Z             }
2026-06-16T04:57:29.6754995Z           ]
2026-06-16T04:57:29.6755095Z         },
2026-06-16T04:57:29.6755196Z         "impl": {
2026-06-16T04:57:29.6755315Z           "complete": true,
2026-06-16T04:57:29.6755434Z           "evidence": [
2026-06-16T04:57:29.6755535Z             {
2026-06-16T04:57:29.6755662Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6755768Z               "line": 3165
2026-06-16T04:57:29.6755873Z             },
2026-06-16T04:57:29.6755972Z             {
2026-06-16T04:57:29.6756092Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6756202Z               "line": 3210
2026-06-16T04:57:29.6756302Z             },
2026-06-16T04:57:29.6756512Z             {
2026-06-16T04:57:29.6756751Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6756869Z               "line": 3272
2026-06-16T04:57:29.6756969Z             },
2026-06-16T04:57:29.6757075Z             {
2026-06-16T04:57:29.6757222Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.6757327Z               "line": 92
2026-06-16T04:57:29.6757438Z             },
2026-06-16T04:57:29.6757536Z             {
2026-06-16T04:57:29.6757674Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.6757774Z               "line": 148
2026-06-16T04:57:29.6757882Z             }
2026-06-16T04:57:29.6757981Z           ]
2026-06-16T04:57:29.6758082Z         },
2026-06-16T04:57:29.6758187Z         "int": {
2026-06-16T04:57:29.6758291Z           "complete": false,
2026-06-16T04:57:29.6758397Z           "evidence": []
2026-06-16T04:57:29.6758497Z         },
2026-06-16T04:57:29.6758596Z         "unit": {
2026-06-16T04:57:29.6758712Z           "complete": true,
2026-06-16T04:57:29.6758817Z           "evidence": [
2026-06-16T04:57:29.6758911Z             {
2026-06-16T04:57:29.6759126Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.6759235Z               "line": 442
2026-06-16T04:57:29.6759337Z             },
2026-06-16T04:57:29.6759441Z             {
2026-06-16T04:57:29.6759574Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.6759675Z               "line": 460
2026-06-16T04:57:29.6759784Z             }
2026-06-16T04:57:29.6759884Z           ]
2026-06-16T04:57:29.6759985Z         }
2026-06-16T04:57:29.6760080Z       }
2026-06-16T04:57:29.6760179Z     },
2026-06-16T04:57:29.6760284Z     {
2026-06-16T04:57:29.6760401Z       "id": "REQ-EP-1",
2026-06-16T04:57:29.6760562Z       "title": "Day-one endpoint types; open type system",
2026-06-16T04:57:29.6760678Z       "requiredStages": [
2026-06-16T04:57:29.6760778Z         "impl",
2026-06-16T04:57:29.6760877Z         "unit"
2026-06-16T04:57:29.6760983Z       ],
2026-06-16T04:57:29.6761097Z       "stages": {
2026-06-16T04:57:29.6761197Z         "doc": {
2026-06-16T04:57:29.6761321Z           "complete": false,
2026-06-16T04:57:29.6761430Z           "evidence": []
2026-06-16T04:57:29.6761521Z         },
2026-06-16T04:57:29.6761622Z         "impl": {
2026-06-16T04:57:29.6761731Z           "complete": true,
2026-06-16T04:57:29.6761845Z           "evidence": [
2026-06-16T04:57:29.6761946Z             {
2026-06-16T04:57:29.6762098Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6762199Z               "line": 77
2026-06-16T04:57:29.6762327Z             },
2026-06-16T04:57:29.6762461Z             {
2026-06-16T04:57:29.6762599Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6762709Z               "line": 94
2026-06-16T04:57:29.6762805Z             }
2026-06-16T04:57:29.6762914Z           ]
2026-06-16T04:57:29.6763003Z         },
2026-06-16T04:57:29.6763107Z         "int": {
2026-06-16T04:57:29.6763228Z           "complete": false,
2026-06-16T04:57:29.6763346Z           "evidence": []
2026-06-16T04:57:29.6763451Z         },
2026-06-16T04:57:29.6763552Z         "unit": {
2026-06-16T04:57:29.6763661Z           "complete": true,
2026-06-16T04:57:29.6763766Z           "evidence": [
2026-06-16T04:57:29.6763876Z             {
2026-06-16T04:57:29.6764018Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6764129Z               "line": 161
2026-06-16T04:57:29.6764228Z             },
2026-06-16T04:57:29.6764323Z             {
2026-06-16T04:57:29.6764468Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6764567Z               "line": 178
2026-06-16T04:57:29.6764676Z             }
2026-06-16T04:57:29.6764773Z           ]
2026-06-16T04:57:29.6764886Z         }
2026-06-16T04:57:29.6764991Z       }
2026-06-16T04:57:29.6765088Z     },
2026-06-16T04:57:29.6765187Z     {
2026-06-16T04:57:29.6765291Z       "id": "REQ-EP-2",
2026-06-16T04:57:29.6765486Z       "title": "Agent endpoints vs Shells distinction in the type model",
2026-06-16T04:57:29.6765785Z       "requiredStages": [
2026-06-16T04:57:29.6765899Z         "impl",
2026-06-16T04:57:29.6766004Z         "unit"
2026-06-16T04:57:29.6766104Z       ],
2026-06-16T04:57:29.6766213Z       "stages": {
2026-06-16T04:57:29.6766313Z         "doc": {
2026-06-16T04:57:29.6766433Z           "complete": false,
2026-06-16T04:57:29.6766537Z           "evidence": []
2026-06-16T04:57:29.6766643Z         },
2026-06-16T04:57:29.6766753Z         "impl": {
2026-06-16T04:57:29.6766862Z           "complete": true,
2026-06-16T04:57:29.6766977Z           "evidence": [
2026-06-16T04:57:29.6767077Z             {
2026-06-16T04:57:29.6767229Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6767335Z               "line": 114
2026-06-16T04:57:29.6767434Z             },
2026-06-16T04:57:29.6767544Z             {
2026-06-16T04:57:29.6767688Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6767801Z               "line": 131
2026-06-16T04:57:29.6767902Z             },
2026-06-16T04:57:29.6768008Z             {
2026-06-16T04:57:29.6768153Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6768253Z               "line": 138
2026-06-16T04:57:29.6768357Z             }
2026-06-16T04:57:29.6768461Z           ]
2026-06-16T04:57:29.6768566Z         },
2026-06-16T04:57:29.6768666Z         "int": {
2026-06-16T04:57:29.6768789Z           "complete": false,
2026-06-16T04:57:29.6768899Z           "evidence": []
2026-06-16T04:57:29.6769066Z         },
2026-06-16T04:57:29.6769180Z         "unit": {
2026-06-16T04:57:29.6769291Z           "complete": true,
2026-06-16T04:57:29.6769405Z           "evidence": [
2026-06-16T04:57:29.6769505Z             {
2026-06-16T04:57:29.6769653Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6769758Z               "line": 190
2026-06-16T04:57:29.6769863Z             },
2026-06-16T04:57:29.6769968Z             {
2026-06-16T04:57:29.6770115Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6770236Z               "line": 208
2026-06-16T04:57:29.6770339Z             },
2026-06-16T04:57:29.6770439Z             {
2026-06-16T04:57:29.6770578Z               "path": "crates/spt-proto/src/endpoint.rs",
2026-06-16T04:57:29.6770682Z               "line": 221
2026-06-16T04:57:29.6770786Z             }
2026-06-16T04:57:29.6770886Z           ]
2026-06-16T04:57:29.6770989Z         }
2026-06-16T04:57:29.6771094Z       }
2026-06-16T04:57:29.6771194Z     },
2026-06-16T04:57:29.6771286Z     {
2026-06-16T04:57:29.6771394Z       "id": "REQ-EP-3",
2026-06-16T04:57:29.6771615Z       "title": "Messaging payloads carry typed operation commands + file blobs",
2026-06-16T04:57:29.6771728Z       "requiredStages": [
2026-06-16T04:57:29.6771820Z         "impl",
2026-06-16T04:57:29.6771924Z         "unit"
2026-06-16T04:57:29.6772019Z       ],
2026-06-16T04:57:29.6772121Z       "stages": {
2026-06-16T04:57:29.6772220Z         "doc": {
2026-06-16T04:57:29.6772352Z           "complete": false,
2026-06-16T04:57:29.6772468Z           "evidence": []
2026-06-16T04:57:29.6772572Z         },
2026-06-16T04:57:29.6772677Z         "impl": {
2026-06-16T04:57:29.6772783Z           "complete": true,
2026-06-16T04:57:29.6772896Z           "evidence": [
2026-06-16T04:57:29.6772992Z             {
2026-06-16T04:57:29.6773141Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6773249Z               "line": 31
2026-06-16T04:57:29.6773350Z             },
2026-06-16T04:57:29.6773456Z             {
2026-06-16T04:57:29.6773601Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6773701Z               "line": 49
2026-06-16T04:57:29.6773812Z             }
2026-06-16T04:57:29.6773920Z           ]
2026-06-16T04:57:29.6774021Z         },
2026-06-16T04:57:29.6774122Z         "int": {
2026-06-16T04:57:29.6774231Z           "complete": false,
2026-06-16T04:57:29.6774336Z           "evidence": []
2026-06-16T04:57:29.6774564Z         },
2026-06-16T04:57:29.6774756Z         "unit": {
2026-06-16T04:57:29.6774870Z           "complete": true,
2026-06-16T04:57:29.6774990Z           "evidence": [
2026-06-16T04:57:29.6775090Z             {
2026-06-16T04:57:29.6775236Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6775343Z               "line": 156
2026-06-16T04:57:29.6775442Z             },
2026-06-16T04:57:29.6775541Z             {
2026-06-16T04:57:29.6775682Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6775799Z               "line": 164
2026-06-16T04:57:29.6775903Z             },
2026-06-16T04:57:29.6776008Z             {
2026-06-16T04:57:29.6776158Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6776264Z               "line": 177
2026-06-16T04:57:29.6776364Z             },
2026-06-16T04:57:29.6776463Z             {
2026-06-16T04:57:29.6776611Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6776722Z               "line": 200
2026-06-16T04:57:29.6776835Z             },
2026-06-16T04:57:29.6776946Z             {
2026-06-16T04:57:29.6777084Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6777193Z               "line": 216
2026-06-16T04:57:29.6777294Z             },
2026-06-16T04:57:29.6777399Z             {
2026-06-16T04:57:29.6777532Z               "path": "crates/spt-proto/src/payload.rs",
2026-06-16T04:57:29.6777646Z               "line": 233
2026-06-16T04:57:29.6777755Z             }
2026-06-16T04:57:29.6777852Z           ]
2026-06-16T04:57:29.6777957Z         }
2026-06-16T04:57:29.6778056Z       }
2026-06-16T04:57:29.6778162Z     },
2026-06-16T04:57:29.6778258Z     {
2026-06-16T04:57:29.6778366Z       "id": "REQ-EP-4",
2026-06-16T04:57:29.6778534Z       "title": "PresenceChannel broker endpoint (seam day-one)",
2026-06-16T04:57:29.6778642Z       "requiredStages": [
2026-06-16T04:57:29.6778746Z         "impl",
2026-06-16T04:57:29.6778847Z         "unit"
2026-06-16T04:57:29.6779040Z       ],
2026-06-16T04:57:29.6779154Z       "stages": {
2026-06-16T04:57:29.6779255Z         "doc": {
2026-06-16T04:57:29.6779373Z           "complete": false,
2026-06-16T04:57:29.6779484Z           "evidence": []
2026-06-16T04:57:29.6779599Z         },
2026-06-16T04:57:29.6779698Z         "impl": {
2026-06-16T04:57:29.6779818Z           "complete": true,
2026-06-16T04:57:29.6779918Z           "evidence": [
2026-06-16T04:57:29.6780022Z             {
2026-06-16T04:57:29.6780162Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6780261Z               "line": 717
2026-06-16T04:57:29.6780365Z             },
2026-06-16T04:57:29.6780467Z             {
2026-06-16T04:57:29.6780613Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6780719Z               "line": 1048
2026-06-16T04:57:29.6780819Z             },
2026-06-16T04:57:29.6780923Z             {
2026-06-16T04:57:29.6781063Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6781186Z               "line": 1359
2026-06-16T04:57:29.6781285Z             },
2026-06-16T04:57:29.6781389Z             {
2026-06-16T04:57:29.6781526Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6781639Z               "line": 118
2026-06-16T04:57:29.6781741Z             },
2026-06-16T04:57:29.6781836Z             {
2026-06-16T04:57:29.6781978Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6782084Z               "line": 609
2026-06-16T04:57:29.6782189Z             },
2026-06-16T04:57:29.6782293Z             {
2026-06-16T04:57:29.6782441Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6782560Z               "line": 734
2026-06-16T04:57:29.6782666Z             },
2026-06-16T04:57:29.6782761Z             {
2026-06-16T04:57:29.6782904Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6783015Z               "line": 254
2026-06-16T04:57:29.6783118Z             },
2026-06-16T04:57:29.6783214Z             {
2026-06-16T04:57:29.6783456Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6783658Z               "line": 441
2026-06-16T04:57:29.6783766Z             },
2026-06-16T04:57:29.6783872Z             {
2026-06-16T04:57:29.6784016Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.6784128Z               "line": 1164
2026-06-16T04:57:29.6784223Z             }
2026-06-16T04:57:29.6784329Z           ]
2026-06-16T04:57:29.6784433Z         },
2026-06-16T04:57:29.6784533Z         "int": {
2026-06-16T04:57:29.6784644Z           "complete": false,
2026-06-16T04:57:29.6784748Z           "evidence": []
2026-06-16T04:57:29.6784857Z         },
2026-06-16T04:57:29.6784963Z         "unit": {
2026-06-16T04:57:29.6785077Z           "complete": true,
2026-06-16T04:57:29.6785187Z           "evidence": [
2026-06-16T04:57:29.6785292Z             {
2026-06-16T04:57:29.6785425Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.6785535Z               "line": 825
2026-06-16T04:57:29.6785650Z             },
2026-06-16T04:57:29.6785759Z             {
2026-06-16T04:57:29.6785912Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-16T04:57:29.6786016Z               "line": 76
2026-06-16T04:57:29.6786126Z             },
2026-06-16T04:57:29.6786222Z             {
2026-06-16T04:57:29.6786373Z               "path": "crates/spt-daemon/tests/presence.rs",
2026-06-16T04:57:29.6786482Z               "line": 147
2026-06-16T04:57:29.6786587Z             }
2026-06-16T04:57:29.6786690Z           ]
2026-06-16T04:57:29.6786785Z         }
2026-06-16T04:57:29.6786891Z       }
2026-06-16T04:57:29.6786986Z     },
2026-06-16T04:57:29.6787090Z     {
2026-06-16T04:57:29.6787206Z       "id": "REQ-EP-5",
2026-06-16T04:57:29.6787901Z       "title": "Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope",
2026-06-16T04:57:29.6788034Z       "requiredStages": [
2026-06-16T04:57:29.6788135Z         "impl",
2026-06-16T04:57:29.6788230Z         "unit",
2026-06-16T04:57:29.6788335Z         "int"
2026-06-16T04:57:29.6788446Z       ],
2026-06-16T04:57:29.6788550Z       "stages": {
2026-06-16T04:57:29.6788649Z         "doc": {
2026-06-16T04:57:29.6788756Z           "complete": false,
2026-06-16T04:57:29.6788865Z           "evidence": []
2026-06-16T04:57:29.6789037Z         },
2026-06-16T04:57:29.6789142Z         "impl": {
2026-06-16T04:57:29.6789259Z           "complete": true,
2026-06-16T04:57:29.6789359Z           "evidence": [
2026-06-16T04:57:29.6789464Z             {
2026-06-16T04:57:29.6789619Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.6789724Z               "line": 367
2026-06-16T04:57:29.6789820Z             },
2026-06-16T04:57:29.6789924Z             {
2026-06-16T04:57:29.6790068Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6790173Z               "line": 18
2026-06-16T04:57:29.6790286Z             },
2026-06-16T04:57:29.6790407Z             {
2026-06-16T04:57:29.6790553Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6790664Z               "line": 63
2026-06-16T04:57:29.6790768Z             },
2026-06-16T04:57:29.6790868Z             {
2026-06-16T04:57:29.6791013Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6791116Z               "line": 92
2026-06-16T04:57:29.6791216Z             },
2026-06-16T04:57:29.6791313Z             {
2026-06-16T04:57:29.6791459Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6791570Z               "line": 167
2026-06-16T04:57:29.6791676Z             },
2026-06-16T04:57:29.6791774Z             {
2026-06-16T04:57:29.6791916Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6792035Z               "line": 179
2026-06-16T04:57:29.6792133Z             },
2026-06-16T04:57:29.6792358Z             {
2026-06-16T04:57:29.6792596Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.6792706Z               "line": 114
2026-06-16T04:57:29.6792810Z             },
2026-06-16T04:57:29.6792901Z             {
2026-06-16T04:57:29.6793054Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6793158Z               "line": 22
2026-06-16T04:57:29.6793260Z             },
2026-06-16T04:57:29.6793364Z             {
2026-06-16T04:57:29.6793506Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6793612Z               "line": 145
2026-06-16T04:57:29.6793716Z             },
2026-06-16T04:57:29.6793821Z             {
2026-06-16T04:57:29.6793964Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6794065Z               "line": 174
2026-06-16T04:57:29.6794170Z             },
2026-06-16T04:57:29.6794275Z             {
2026-06-16T04:57:29.6794422Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6794529Z               "line": 196
2026-06-16T04:57:29.6794632Z             },
2026-06-16T04:57:29.6794735Z             {
2026-06-16T04:57:29.6794884Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6794989Z               "line": 221
2026-06-16T04:57:29.6795093Z             },
2026-06-16T04:57:29.6795189Z             {
2026-06-16T04:57:29.6795332Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6795437Z               "line": 247
2026-06-16T04:57:29.6795533Z             },
2026-06-16T04:57:29.6795637Z             {
2026-06-16T04:57:29.6795785Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6795890Z               "line": 270
2026-06-16T04:57:29.6795999Z             },
2026-06-16T04:57:29.6796100Z             {
2026-06-16T04:57:29.6796248Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6796357Z               "line": 100
2026-06-16T04:57:29.6796458Z             },
2026-06-16T04:57:29.6796567Z             {
2026-06-16T04:57:29.6796701Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6796811Z               "line": 5250
2026-06-16T04:57:29.6796905Z             },
2026-06-16T04:57:29.6797009Z             {
2026-06-16T04:57:29.6797143Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6797250Z               "line": 5384
2026-06-16T04:57:29.6797355Z             },
2026-06-16T04:57:29.6797446Z             {
2026-06-16T04:57:29.6797579Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6797688Z               "line": 5550
2026-06-16T04:57:29.6797780Z             },
2026-06-16T04:57:29.6797885Z             {
2026-06-16T04:57:29.6798008Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6798114Z               "line": 6078
2026-06-16T04:57:29.6798213Z             }
2026-06-16T04:57:29.6798318Z           ]
2026-06-16T04:57:29.6798414Z         },
2026-06-16T04:57:29.6798519Z         "int": {
2026-06-16T04:57:29.6798633Z           "complete": true,
2026-06-16T04:57:29.6798739Z           "evidence": [
2026-06-16T04:57:29.6798843Z             {
2026-06-16T04:57:29.6799082Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T04:57:29.6799196Z               "line": 16
2026-06-16T04:57:29.6799297Z             },
2026-06-16T04:57:29.6799420Z             {
2026-06-16T04:57:29.6799558Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T04:57:29.6799664Z               "line": 15
2026-06-16T04:57:29.6799772Z             }
2026-06-16T04:57:29.6799871Z           ]
2026-06-16T04:57:29.6799976Z         },
2026-06-16T04:57:29.6800080Z         "unit": {
2026-06-16T04:57:29.6800193Z           "complete": true,
2026-06-16T04:57:29.6800303Z           "evidence": [
2026-06-16T04:57:29.6800404Z             {
2026-06-16T04:57:29.6800551Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6800662Z               "line": 246
2026-06-16T04:57:29.6800766Z             },
2026-06-16T04:57:29.6800962Z             {
2026-06-16T04:57:29.6801204Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6801319Z               "line": 306
2026-06-16T04:57:29.6801419Z             },
2026-06-16T04:57:29.6801524Z             {
2026-06-16T04:57:29.6801667Z               "path": "crates/spt-daemon/src/shelldisc.rs",
2026-06-16T04:57:29.6801786Z               "line": 363
2026-06-16T04:57:29.6801887Z             },
2026-06-16T04:57:29.6801991Z             {
2026-06-16T04:57:29.6802139Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6802245Z               "line": 286
2026-06-16T04:57:29.6802348Z             },
2026-06-16T04:57:29.6802452Z             {
2026-06-16T04:57:29.6802591Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.6802698Z               "line": 338
2026-06-16T04:57:29.6802798Z             },
2026-06-16T04:57:29.6802899Z             {
2026-06-16T04:57:29.6803027Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6803156Z               "line": 779
2026-06-16T04:57:29.6803261Z             },
2026-06-16T04:57:29.6803361Z             {
2026-06-16T04:57:29.6803481Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6803585Z               "line": 7355
2026-06-16T04:57:29.6803690Z             },
2026-06-16T04:57:29.6803791Z             {
2026-06-16T04:57:29.6803914Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6804019Z               "line": 7508
2026-06-16T04:57:29.6804120Z             },
2026-06-16T04:57:29.6804215Z             {
2026-06-16T04:57:29.6804343Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6804449Z               "line": 8097
2026-06-16T04:57:29.6804548Z             },
2026-06-16T04:57:29.6804653Z             {
2026-06-16T04:57:29.6804769Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6804872Z               "line": 8213
2026-06-16T04:57:29.6804978Z             }
2026-06-16T04:57:29.6805084Z           ]
2026-06-16T04:57:29.6805187Z         }
2026-06-16T04:57:29.6805296Z       }
2026-06-16T04:57:29.6805396Z     },
2026-06-16T04:57:29.6805493Z     {
2026-06-16T04:57:29.6805606Z       "id": "REQ-EP-6",
2026-06-16T04:57:29.6807070Z       "title": "Gateway type acceptance: a Gateway-typed perch binds (api bind --type, open type system — un-hardcode the live_agent default), advertises/addressable like any endpoint, owns shells (owner validation not agent-family-gated), subscribes to digests, and is the user-msg identity gate's user-backed origin (REQ-MSG-5); in-tree mock-gateway fixture (R-DOCS-2 pattern, no downstream adapter code). Cross-node WAN Gateway-origin (registry endpoint_type trust) tracked by REQ-MSG-6",
2026-06-16T04:57:29.6807198Z       "requiredStages": [
2026-06-16T04:57:29.6807304Z         "doc",
2026-06-16T04:57:29.6807399Z         "impl",
2026-06-16T04:57:29.6807503Z         "unit"
2026-06-16T04:57:29.6807602Z       ],
2026-06-16T04:57:29.6807707Z       "stages": {
2026-06-16T04:57:29.6807811Z         "doc": {
2026-06-16T04:57:29.6807934Z           "complete": true,
2026-06-16T04:57:29.6808045Z           "evidence": [
2026-06-16T04:57:29.6808144Z             {
2026-06-16T04:57:29.6808263Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.6808378Z               "line": 208
2026-06-16T04:57:29.6808483Z             }
2026-06-16T04:57:29.6808583Z           ]
2026-06-16T04:57:29.6808683Z         },
2026-06-16T04:57:29.6808788Z         "impl": {
2026-06-16T04:57:29.6808893Z           "complete": true,
2026-06-16T04:57:29.6809093Z           "evidence": [
2026-06-16T04:57:29.6809193Z             {
2026-06-16T04:57:29.6809346Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.6809479Z               "line": 166
2026-06-16T04:57:29.6809571Z             }
2026-06-16T04:57:29.6809675Z           ]
2026-06-16T04:57:29.6809775Z         },
2026-06-16T04:57:29.6809876Z         "int": {
2026-06-16T04:57:29.6809985Z           "complete": true,
2026-06-16T04:57:29.6810186Z           "evidence": [
2026-06-16T04:57:29.6810389Z             {
2026-06-16T04:57:29.6810532Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-16T04:57:29.6810640Z               "line": 18
2026-06-16T04:57:29.6810744Z             }
2026-06-16T04:57:29.6810845Z           ]
2026-06-16T04:57:29.6810950Z         },
2026-06-16T04:57:29.6811049Z         "unit": {
2026-06-16T04:57:29.6811164Z           "complete": true,
2026-06-16T04:57:29.6811264Z           "evidence": [
2026-06-16T04:57:29.6811368Z             {
2026-06-16T04:57:29.6811513Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.6811627Z               "line": 551
2026-06-16T04:57:29.6811731Z             },
2026-06-16T04:57:29.6811832Z             {
2026-06-16T04:57:29.6811975Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.6812084Z               "line": 627
2026-06-16T04:57:29.6812185Z             }
2026-06-16T04:57:29.6812289Z           ]
2026-06-16T04:57:29.6812389Z         }
2026-06-16T04:57:29.6812500Z       }
2026-06-16T04:57:29.6812608Z     },
2026-06-16T04:57:29.6812704Z     {
2026-06-16T04:57:29.6812819Z       "id": "REQ-EP-7",
2026-06-16T04:57:29.6814541Z       "title": "Durable live-role.md: a per-agent broad-purpose statement in tracked/agents/<id>/ beside live-context.md (replicates with the mind on the same a-<id> branch); renders FIRST at start-transition context injection (role -> live-context -> project-context); SOLE writer `spt endpoint role --overwrite <file>` — mechanical no-automated-writer guarantee (echo-commune ingest / signoff / Psyche reconcile structurally exclude it). The user-backed-origin hard gate on the writer is a deferred later tightening (rides the user-msg identity plumbing)",
2026-06-16T04:57:29.6814666Z       "requiredStages": [
2026-06-16T04:57:29.6814770Z         "doc",
2026-06-16T04:57:29.6814870Z         "impl",
2026-06-16T04:57:29.6814976Z         "unit"
2026-06-16T04:57:29.6815076Z       ],
2026-06-16T04:57:29.6815175Z       "stages": {
2026-06-16T04:57:29.6815281Z         "doc": {
2026-06-16T04:57:29.6815409Z           "complete": true,
2026-06-16T04:57:29.6815523Z           "evidence": [
2026-06-16T04:57:29.6815625Z             {
2026-06-16T04:57:29.6815743Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.6815861Z               "line": 435
2026-06-16T04:57:29.6815966Z             }
2026-06-16T04:57:29.6816072Z           ]
2026-06-16T04:57:29.6816180Z         },
2026-06-16T04:57:29.6816285Z         "impl": {
2026-06-16T04:57:29.6816391Z           "complete": true,
2026-06-16T04:57:29.6816490Z           "evidence": [
2026-06-16T04:57:29.6816596Z             {
2026-06-16T04:57:29.6816748Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.6816867Z               "line": 505
2026-06-16T04:57:29.6816977Z             },
2026-06-16T04:57:29.6817077Z             {
2026-06-16T04:57:29.6817220Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.6817330Z               "line": 87
2026-06-16T04:57:29.6817439Z             },
2026-06-16T04:57:29.6817540Z             {
2026-06-16T04:57:29.6817691Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6817797Z               "line": 81
2026-06-16T04:57:29.6817903Z             },
2026-06-16T04:57:29.6818006Z             {
2026-06-16T04:57:29.6818158Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6818267Z               "line": 166
2026-06-16T04:57:29.6818371Z             },
2026-06-16T04:57:29.6818470Z             {
2026-06-16T04:57:29.6818605Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6818714Z               "line": 1477
2026-06-16T04:57:29.6818804Z             }
2026-06-16T04:57:29.6818910Z           ]
2026-06-16T04:57:29.6819099Z         },
2026-06-16T04:57:29.6819205Z         "int": {
2026-06-16T04:57:29.6819319Z           "complete": false,
2026-06-16T04:57:29.6819444Z           "evidence": []
2026-06-16T04:57:29.6819544Z         },
2026-06-16T04:57:29.6819643Z         "unit": {
2026-06-16T04:57:29.6819868Z           "complete": true,
2026-06-16T04:57:29.6820068Z           "evidence": [
2026-06-16T04:57:29.6826412Z             {
2026-06-16T04:57:29.6826608Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.6826731Z               "line": 623
2026-06-16T04:57:29.6826827Z             },
2026-06-16T04:57:29.6826927Z             {
2026-06-16T04:57:29.6827074Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6827166Z               "line": 212
2026-06-16T04:57:29.6827270Z             },
2026-06-16T04:57:29.6827369Z             {
2026-06-16T04:57:29.6827514Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.6827628Z               "line": 307
2026-06-16T04:57:29.6827723Z             },
2026-06-16T04:57:29.6827829Z             {
2026-06-16T04:57:29.6827961Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6828076Z               "line": 6492
2026-06-16T04:57:29.6828177Z             },
2026-06-16T04:57:29.6828295Z             {
2026-06-16T04:57:29.6828439Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6828543Z               "line": 6519
2026-06-16T04:57:29.6828652Z             }
2026-06-16T04:57:29.6828751Z           ]
2026-06-16T04:57:29.6828855Z         }
2026-06-16T04:57:29.6829040Z       }
2026-06-16T04:57:29.6829136Z     },
2026-06-16T04:57:29.6829236Z     {
2026-06-16T04:57:29.6829837Z       "id": "REQ-FRONT-1",
2026-06-16T04:57:29.6830123Z       "title": "Day-one launcher/manager frontend (list/launch/attach/init)",
2026-06-16T04:57:29.6830261Z       "requiredStages": [],
2026-06-16T04:57:29.6830391Z       "stages": {
2026-06-16T04:57:29.6830514Z         "doc": {
2026-06-16T04:57:29.6830653Z           "complete": false,
2026-06-16T04:57:29.6830780Z           "evidence": []
2026-06-16T04:57:29.6830900Z         },
2026-06-16T04:57:29.6831025Z         "impl": {
2026-06-16T04:57:29.6831162Z           "complete": false,
2026-06-16T04:57:29.6831282Z           "evidence": []
2026-06-16T04:57:29.6831420Z         },
2026-06-16T04:57:29.6831556Z         "int": {
2026-06-16T04:57:29.6831690Z           "complete": false,
2026-06-16T04:57:29.6831822Z           "evidence": []
2026-06-16T04:57:29.6831945Z         },
2026-06-16T04:57:29.6832065Z         "unit": {
2026-06-16T04:57:29.6832212Z           "complete": false,
2026-06-16T04:57:29.6832342Z           "evidence": []
2026-06-16T04:57:29.6832465Z         }
2026-06-16T04:57:29.6832585Z       }
2026-06-16T04:57:29.6832704Z     },
2026-06-16T04:57:29.6832822Z     {
2026-06-16T04:57:29.6833004Z       "id": "REQ-HAZARD-BRAIN-RESPAWN-PATH",
2026-06-16T04:57:29.6836281Z       "title": "The broker respawns the brain onto the APPLIED bytes, not the renamed old binary: the candidate-binary default is the canonical exe path captured ONCE at broker start, never a per-spawn std::env::current_exe() — on Linux current_exe (readlink /proc/self/exe) is inode-tracking and follows the `apply` rename (spt -> spt.old-N), so a resident broker would respawn the brain onto OLD bytes while recording `applied` (Windows GetModuleFileName is path-at-start, so Windows was green; ADR-0018 Q3 silently assumed path-string semantics). Backstop: promotion gates on bytes — a trial promotes only if brain.ready exe_hash == the staged artifact hash for this platform, else auto-rollback + loud notif (readiness != new-bytes was the false-success that recorded applied:8 over a v0.4.0 brain on kitsubito, 2026-06-11). KNOWN-HAZARDS 6.11.",
2026-06-16T04:57:29.6836459Z       "requiredStages": [
2026-06-16T04:57:29.6836581Z         "doc",
2026-06-16T04:57:29.6836702Z         "impl",
2026-06-16T04:57:29.6836826Z         "unit",
2026-06-16T04:57:29.6836948Z         "int"
2026-06-16T04:57:29.6837077Z       ],
2026-06-16T04:57:29.6837202Z       "stages": {
2026-06-16T04:57:29.6837324Z         "doc": {
2026-06-16T04:57:29.6837450Z           "complete": true,
2026-06-16T04:57:29.6837582Z           "evidence": [
2026-06-16T04:57:29.6837702Z             {
2026-06-16T04:57:29.6837864Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.6838370Z               "line": 326
2026-06-16T04:57:29.6838492Z             }
2026-06-16T04:57:29.6838617Z           ]
2026-06-16T04:57:29.6838737Z         },
2026-06-16T04:57:29.6838855Z         "impl": {
2026-06-16T04:57:29.6839108Z           "complete": true,
2026-06-16T04:57:29.6839235Z           "evidence": [
2026-06-16T04:57:29.6839364Z             {
2026-06-16T04:57:29.6839562Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6839701Z               "line": 494
2026-06-16T04:57:29.6839820Z             },
2026-06-16T04:57:29.6839939Z             {
2026-06-16T04:57:29.6840120Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6840244Z               "line": 499
2026-06-16T04:57:29.6840368Z             },
2026-06-16T04:57:29.6840492Z             {
2026-06-16T04:57:29.6840669Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6840797Z               "line": 874
2026-06-16T04:57:29.6840922Z             },
2026-06-16T04:57:29.6841040Z             {
2026-06-16T04:57:29.6841213Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6841345Z               "line": 915
2026-06-16T04:57:29.6841460Z             },
2026-06-16T04:57:29.6841586Z             {
2026-06-16T04:57:29.6841756Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6841881Z               "line": 926
2026-06-16T04:57:29.6842008Z             },
2026-06-16T04:57:29.6842126Z             {
2026-06-16T04:57:29.6842292Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.6842420Z               "line": 358
2026-06-16T04:57:29.6842539Z             }
2026-06-16T04:57:29.6842663Z           ]
2026-06-16T04:57:29.6842777Z         },
2026-06-16T04:57:29.6842897Z         "int": {
2026-06-16T04:57:29.6843020Z           "complete": true,
2026-06-16T04:57:29.6843150Z           "evidence": [
2026-06-16T04:57:29.6843274Z             {
2026-06-16T04:57:29.6843474Z               "path": "crates/spt/tests/brain_respawn_rename.rs",
2026-06-16T04:57:29.6843612Z               "line": 30
2026-06-16T04:57:29.6843712Z             }
2026-06-16T04:57:29.6843818Z           ]
2026-06-16T04:57:29.6843917Z         },
2026-06-16T04:57:29.6844027Z         "unit": {
2026-06-16T04:57:29.6844128Z           "complete": true,
2026-06-16T04:57:29.6844236Z           "evidence": [
2026-06-16T04:57:29.6844337Z             {
2026-06-16T04:57:29.6844476Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6844579Z               "line": 1467
2026-06-16T04:57:29.6844683Z             },
2026-06-16T04:57:29.6844784Z             {
2026-06-16T04:57:29.6844930Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6845039Z               "line": 1492
2026-06-16T04:57:29.6845140Z             },
2026-06-16T04:57:29.6845239Z             {
2026-06-16T04:57:29.6845372Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6845469Z               "line": 1509
2026-06-16T04:57:29.6845568Z             },
2026-06-16T04:57:29.6845668Z             {
2026-06-16T04:57:29.6845812Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6845916Z               "line": 1552
2026-06-16T04:57:29.6846017Z             }
2026-06-16T04:57:29.6846122Z           ]
2026-06-16T04:57:29.6846212Z         }
2026-06-16T04:57:29.6846312Z       }
2026-06-16T04:57:29.6846408Z     },
2026-06-16T04:57:29.6846503Z     {
2026-06-16T04:57:29.6846646Z       "id": "REQ-HAZARD-BROKER-PROCESS-ISOLATION",
2026-06-16T04:57:29.6849472Z       "title": "Broker and brain are separate processes: the broker runs as its own long-lived per-machine process that survives every brain restart, so a routine (brain-only) self-update restarts the brain onto the swapped binary while every hosted endpoint (PTY child, live QUIC conn, listening socket) stays untouched at the PROCESS level. The in-process-thread broker (daemon.rs:165-170) is a regression that silently unrealizes REQ-UPD-3 — apply degrades to an in-process Brain::handoff no-op and new code does not run until an unrelated restart (KNOWN-HAZARDS 6.7). Evidence must prove process-level survival (SPIKE-01/03 productionized as int: PTY child + live QUIC survive a brain-PROCESS restart onto a swapped binary), re-pointing the regression-masked in-process int tags currently on REQ-DAEMON-2 / REQ-UPD-3 (ADR-0018).",
2026-06-16T04:57:29.6849805Z       "requiredStages": [
2026-06-16T04:57:29.6849910Z         "doc",
2026-06-16T04:57:29.6850009Z         "impl",
2026-06-16T04:57:29.6850108Z         "unit",
2026-06-16T04:57:29.6850203Z         "int"
2026-06-16T04:57:29.6850295Z       ],
2026-06-16T04:57:29.6850398Z       "stages": {
2026-06-16T04:57:29.6850494Z         "doc": {
2026-06-16T04:57:29.6850614Z           "complete": true,
2026-06-16T04:57:29.6850723Z           "evidence": [
2026-06-16T04:57:29.6850824Z             {
2026-06-16T04:57:29.6850957Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.6851061Z               "line": 295
2026-06-16T04:57:29.6851182Z             }
2026-06-16T04:57:29.6851276Z           ]
2026-06-16T04:57:29.6851376Z         },
2026-06-16T04:57:29.6851492Z         "impl": {
2026-06-16T04:57:29.6851595Z           "complete": true,
2026-06-16T04:57:29.6851700Z           "evidence": [
2026-06-16T04:57:29.6851797Z             {
2026-06-16T04:57:29.6851953Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.6852058Z               "line": 108
2026-06-16T04:57:29.6852164Z             },
2026-06-16T04:57:29.6852267Z             {
2026-06-16T04:57:29.6852408Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6852521Z               "line": 794
2026-06-16T04:57:29.6852620Z             },
2026-06-16T04:57:29.6852725Z             {
2026-06-16T04:57:29.6852862Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.6852965Z               "line": 994
2026-06-16T04:57:29.6853070Z             },
2026-06-16T04:57:29.6853176Z             {
2026-06-16T04:57:29.6853323Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6853434Z               "line": 23
2026-06-16T04:57:29.6853538Z             },
2026-06-16T04:57:29.6853638Z             {
2026-06-16T04:57:29.6853786Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6853895Z               "line": 113
2026-06-16T04:57:29.6853996Z             },
2026-06-16T04:57:29.6854096Z             {
2026-06-16T04:57:29.6854243Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6854359Z               "line": 158
2026-06-16T04:57:29.6854458Z             },
2026-06-16T04:57:29.6854558Z             {
2026-06-16T04:57:29.6854703Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6854801Z               "line": 218
2026-06-16T04:57:29.6854902Z             },
2026-06-16T04:57:29.6855003Z             {
2026-06-16T04:57:29.6855149Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6855262Z               "line": 261
2026-06-16T04:57:29.6855363Z             },
2026-06-16T04:57:29.6855470Z             {
2026-06-16T04:57:29.6855613Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6855719Z               "line": 275
2026-06-16T04:57:29.6855819Z             },
2026-06-16T04:57:29.6855919Z             {
2026-06-16T04:57:29.6856057Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6856171Z               "line": 320
2026-06-16T04:57:29.6856277Z             },
2026-06-16T04:57:29.6856377Z             {
2026-06-16T04:57:29.6856523Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6856630Z               "line": 347
2026-06-16T04:57:29.6856734Z             },
2026-06-16T04:57:29.6856834Z             {
2026-06-16T04:57:29.6856968Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6857077Z               "line": 359
2026-06-16T04:57:29.6857250Z             },
2026-06-16T04:57:29.6857411Z             {
2026-06-16T04:57:29.6857555Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6857659Z               "line": 373
2026-06-16T04:57:29.6857759Z             },
2026-06-16T04:57:29.6857860Z             {
2026-06-16T04:57:29.6857993Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6858096Z               "line": 400
2026-06-16T04:57:29.6858202Z             },
2026-06-16T04:57:29.6858293Z             {
2026-06-16T04:57:29.6858435Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6858531Z               "line": 643
2026-06-16T04:57:29.6858626Z             },
2026-06-16T04:57:29.6858721Z             {
2026-06-16T04:57:29.6858855Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6859055Z               "line": 972
2026-06-16T04:57:29.6859146Z             },
2026-06-16T04:57:29.6859251Z             {
2026-06-16T04:57:29.6859403Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6859519Z               "line": 178
2026-06-16T04:57:29.6859622Z             },
2026-06-16T04:57:29.6859717Z             {
2026-06-16T04:57:29.6859862Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6859965Z               "line": 590
2026-06-16T04:57:29.6860071Z             },
2026-06-16T04:57:29.6860158Z             {
2026-06-16T04:57:29.6860294Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6860408Z               "line": 662
2026-06-16T04:57:29.6860513Z             },
2026-06-16T04:57:29.6860615Z             {
2026-06-16T04:57:29.6860740Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6860845Z               "line": 674
2026-06-16T04:57:29.6860949Z             },
2026-06-16T04:57:29.6861045Z             {
2026-06-16T04:57:29.6861188Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6861292Z               "line": 1084
2026-06-16T04:57:29.6861394Z             },
2026-06-16T04:57:29.6861498Z             {
2026-06-16T04:57:29.6861640Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6861747Z               "line": 183
2026-06-16T04:57:29.6861846Z             },
2026-06-16T04:57:29.6861936Z             {
2026-06-16T04:57:29.6862071Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6862185Z               "line": 260
2026-06-16T04:57:29.6862280Z             },
2026-06-16T04:57:29.6862381Z             {
2026-06-16T04:57:29.6862513Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6862609Z               "line": 271
2026-06-16T04:57:29.6862715Z             },
2026-06-16T04:57:29.6862813Z             {
2026-06-16T04:57:29.6862948Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6863049Z               "line": 297
2026-06-16T04:57:29.6863147Z             },
2026-06-16T04:57:29.6863251Z             {
2026-06-16T04:57:29.6863399Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6863511Z               "line": 56
2026-06-16T04:57:29.6863602Z             },
2026-06-16T04:57:29.6863707Z             {
2026-06-16T04:57:29.6863854Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6863955Z               "line": 188
2026-06-16T04:57:29.6864060Z             },
2026-06-16T04:57:29.6864150Z             {
2026-06-16T04:57:29.6864290Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T04:57:29.6864399Z               "line": 82
2026-06-16T04:57:29.6864503Z             },
2026-06-16T04:57:29.6864614Z             {
2026-06-16T04:57:29.6864756Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6864865Z               "line": 258
2026-06-16T04:57:29.6864967Z             },
2026-06-16T04:57:29.6865065Z             {
2026-06-16T04:57:29.6865195Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.6865314Z               "line": 424
2026-06-16T04:57:29.6865558Z             },
2026-06-16T04:57:29.6865757Z             {
2026-06-16T04:57:29.6865895Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.6866002Z               "line": 1782
2026-06-16T04:57:29.6866111Z             }
2026-06-16T04:57:29.6866212Z           ]
2026-06-16T04:57:29.6866317Z         },
2026-06-16T04:57:29.6866426Z         "int": {
2026-06-16T04:57:29.6866537Z           "complete": true,
2026-06-16T04:57:29.6866641Z           "evidence": [
2026-06-16T04:57:29.6866736Z             {
2026-06-16T04:57:29.6866875Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T04:57:29.6866980Z               "line": 57
2026-06-16T04:57:29.6867084Z             },
2026-06-16T04:57:29.6867195Z             {
2026-06-16T04:57:29.6867323Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-16T04:57:29.6867432Z               "line": 41
2026-06-16T04:57:29.6867547Z             }
2026-06-16T04:57:29.6867642Z           ]
2026-06-16T04:57:29.6867752Z         },
2026-06-16T04:57:29.6867867Z         "unit": {
2026-06-16T04:57:29.6867971Z           "complete": true,
2026-06-16T04:57:29.6868077Z           "evidence": [
2026-06-16T04:57:29.6868177Z             {
2026-06-16T04:57:29.6868329Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.6868425Z               "line": 532
2026-06-16T04:57:29.6868534Z             },
2026-06-16T04:57:29.6868638Z             {
2026-06-16T04:57:29.6868781Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.6868891Z               "line": 755
2026-06-16T04:57:29.6869048Z             },
2026-06-16T04:57:29.6869149Z             {
2026-06-16T04:57:29.6869300Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6869397Z               "line": 1041
2026-06-16T04:57:29.6869501Z             },
2026-06-16T04:57:29.6869601Z             {
2026-06-16T04:57:29.6869749Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6869858Z               "line": 1075
2026-06-16T04:57:29.6869968Z             },
2026-06-16T04:57:29.6870060Z             {
2026-06-16T04:57:29.6870197Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6870297Z               "line": 1117
2026-06-16T04:57:29.6870403Z             },
2026-06-16T04:57:29.6870502Z             {
2026-06-16T04:57:29.6870646Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6870746Z               "line": 1189
2026-06-16T04:57:29.6870849Z             },
2026-06-16T04:57:29.6870949Z             {
2026-06-16T04:57:29.6871101Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6871204Z               "line": 1202
2026-06-16T04:57:29.6871305Z             },
2026-06-16T04:57:29.6871405Z             {
2026-06-16T04:57:29.6871538Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6871653Z               "line": 1225
2026-06-16T04:57:29.6871739Z             },
2026-06-16T04:57:29.6871843Z             {
2026-06-16T04:57:29.6871987Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6872101Z               "line": 1251
2026-06-16T04:57:29.6872200Z             },
2026-06-16T04:57:29.6872302Z             {
2026-06-16T04:57:29.6872449Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6872554Z               "line": 1265
2026-06-16T04:57:29.6872660Z             },
2026-06-16T04:57:29.6872759Z             {
2026-06-16T04:57:29.6872898Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6873012Z               "line": 1289
2026-06-16T04:57:29.6873112Z             },
2026-06-16T04:57:29.6873208Z             {
2026-06-16T04:57:29.6873346Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6873450Z               "line": 1421
2026-06-16T04:57:29.6873552Z             },
2026-06-16T04:57:29.6873661Z             {
2026-06-16T04:57:29.6873807Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6874109Z               "line": 1597
2026-06-16T04:57:29.6874219Z             },
2026-06-16T04:57:29.6874321Z             {
2026-06-16T04:57:29.6874462Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6874578Z               "line": 1652
2026-06-16T04:57:29.6874682Z             },
2026-06-16T04:57:29.6874782Z             {
2026-06-16T04:57:29.6874916Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6875025Z               "line": 1698
2026-06-16T04:57:29.6875125Z             },
2026-06-16T04:57:29.6875226Z             {
2026-06-16T04:57:29.6875368Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6875484Z               "line": 1743
2026-06-16T04:57:29.6875621Z             },
2026-06-16T04:57:29.6875726Z             {
2026-06-16T04:57:29.6875875Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6875984Z               "line": 1787
2026-06-16T04:57:29.6876099Z             },
2026-06-16T04:57:29.6876204Z             {
2026-06-16T04:57:29.6876354Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.6876469Z               "line": 1829
2026-06-16T04:57:29.6876558Z             },
2026-06-16T04:57:29.6876662Z             {
2026-06-16T04:57:29.6876801Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6876919Z               "line": 1418
2026-06-16T04:57:29.6877010Z             },
2026-06-16T04:57:29.6877107Z             {
2026-06-16T04:57:29.6877258Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6877358Z               "line": 217
2026-06-16T04:57:29.6877468Z             },
2026-06-16T04:57:29.6877563Z             {
2026-06-16T04:57:29.6877707Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6877816Z               "line": 233
2026-06-16T04:57:29.6877916Z             },
2026-06-16T04:57:29.6878022Z             {
2026-06-16T04:57:29.6878164Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6878293Z               "line": 254
2026-06-16T04:57:29.6878394Z             },
2026-06-16T04:57:29.6878497Z             {
2026-06-16T04:57:29.6878652Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6878756Z               "line": 265
2026-06-16T04:57:29.6878855Z             },
2026-06-16T04:57:29.6879048Z             {
2026-06-16T04:57:29.6879193Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6879293Z               "line": 278
2026-06-16T04:57:29.6879414Z             },
2026-06-16T04:57:29.6879512Z             {
2026-06-16T04:57:29.6879646Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6879752Z               "line": 289
2026-06-16T04:57:29.6879851Z             },
2026-06-16T04:57:29.6879952Z             {
2026-06-16T04:57:29.6880085Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6880185Z               "line": 301
2026-06-16T04:57:29.6880286Z             },
2026-06-16T04:57:29.6880390Z             {
2026-06-16T04:57:29.6880537Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6880643Z               "line": 312
2026-06-16T04:57:29.6880743Z             },
2026-06-16T04:57:29.6880842Z             {
2026-06-16T04:57:29.6880982Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6881095Z               "line": 323
2026-06-16T04:57:29.6881196Z             },
2026-06-16T04:57:29.6881306Z             {
2026-06-16T04:57:29.6881457Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6881562Z               "line": 332
2026-06-16T04:57:29.6881652Z             },
2026-06-16T04:57:29.6881755Z             {
2026-06-16T04:57:29.6881898Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6882004Z               "line": 342
2026-06-16T04:57:29.6882107Z             },
2026-06-16T04:57:29.6882213Z             {
2026-06-16T04:57:29.6882455Z               "path": "crates/spt-daemon/src/deadline.rs",
2026-06-16T04:57:29.6882657Z               "line": 358
2026-06-16T04:57:29.6882756Z             },
2026-06-16T04:57:29.6882857Z             {
2026-06-16T04:57:29.6883000Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6883105Z               "line": 708
2026-06-16T04:57:29.6883200Z             },
2026-06-16T04:57:29.6883310Z             {
2026-06-16T04:57:29.6883458Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6883563Z               "line": 744
2026-06-16T04:57:29.6883668Z             },
2026-06-16T04:57:29.6883763Z             {
2026-06-16T04:57:29.6883906Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.6884011Z               "line": 966
2026-06-16T04:57:29.6884126Z             },
2026-06-16T04:57:29.6884230Z             {
2026-06-16T04:57:29.6884362Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T04:57:29.6884476Z               "line": 143
2026-06-16T04:57:29.6884613Z             },
2026-06-16T04:57:29.6884742Z             {
2026-06-16T04:57:29.6884885Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T04:57:29.6884998Z               "line": 222
2026-06-16T04:57:29.6885100Z             },
2026-06-16T04:57:29.6885205Z             {
2026-06-16T04:57:29.6885366Z               "path": "crates/spt-daemon/tests/resume.rs",
2026-06-16T04:57:29.6885467Z               "line": 291
2026-06-16T04:57:29.6885599Z             },
2026-06-16T04:57:29.6885710Z             {
2026-06-16T04:57:29.6885857Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-16T04:57:29.6885977Z               "line": 17
2026-06-16T04:57:29.6886082Z             },
2026-06-16T04:57:29.6886195Z             {
2026-06-16T04:57:29.6886340Z               "path": "crates/spt/tests/brain_split.rs",
2026-06-16T04:57:29.6886500Z               "line": 104
2026-06-16T04:57:29.6886611Z             }
2026-06-16T04:57:29.6886722Z           ]
2026-06-16T04:57:29.6886824Z         }
2026-06-16T04:57:29.6886933Z       }
2026-06-16T04:57:29.6887043Z     },
2026-06-16T04:57:29.6887142Z     {
2026-06-16T04:57:29.6887274Z       "id": "REQ-HAZARD-CASCADE-WIPE-GUARD",
2026-06-16T04:57:29.6887513Z       "title": "No hard-delete of a parent hosting non-empty children (6.3)",
2026-06-16T04:57:29.6887628Z       "requiredStages": [
2026-06-16T04:57:29.6887733Z         "impl",
2026-06-16T04:57:29.6887827Z         "unit"
2026-06-16T04:57:29.6887938Z       ],
2026-06-16T04:57:29.6888038Z       "stages": {
2026-06-16T04:57:29.6888147Z         "doc": {
2026-06-16T04:57:29.6888253Z           "complete": false,
2026-06-16T04:57:29.6888381Z           "evidence": []
2026-06-16T04:57:29.6888500Z         },
2026-06-16T04:57:29.6888596Z         "impl": {
2026-06-16T04:57:29.6888710Z           "complete": true,
2026-06-16T04:57:29.6888815Z           "evidence": [
2026-06-16T04:57:29.6888916Z             {
2026-06-16T04:57:29.6889139Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6889245Z               "line": 168
2026-06-16T04:57:29.6889349Z             },
2026-06-16T04:57:29.6889449Z             {
2026-06-16T04:57:29.6889594Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6889696Z               "line": 18
2026-06-16T04:57:29.6889800Z             },
2026-06-16T04:57:29.6889901Z             {
2026-06-16T04:57:29.6890030Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6890144Z               "line": 100
2026-06-16T04:57:29.6890240Z             }
2026-06-16T04:57:29.6890345Z           ]
2026-06-16T04:57:29.6890449Z         },
2026-06-16T04:57:29.6890555Z         "int": {
2026-06-16T04:57:29.6890669Z           "complete": false,
2026-06-16T04:57:29.6890778Z           "evidence": []
2026-06-16T04:57:29.6890870Z         },
2026-06-16T04:57:29.6890969Z         "unit": {
2026-06-16T04:57:29.6891088Z           "complete": true,
2026-06-16T04:57:29.6891190Z           "evidence": [
2026-06-16T04:57:29.6891408Z             {
2026-06-16T04:57:29.6891551Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.6891776Z               "line": 853
2026-06-16T04:57:29.6891927Z             },
2026-06-16T04:57:29.6892026Z             {
2026-06-16T04:57:29.6892156Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6892263Z               "line": 161
2026-06-16T04:57:29.6892367Z             },
2026-06-16T04:57:29.6892459Z             {
2026-06-16T04:57:29.6892597Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.6892711Z               "line": 233
2026-06-16T04:57:29.6892807Z             }
2026-06-16T04:57:29.6892911Z           ]
2026-06-16T04:57:29.6893015Z         }
2026-06-16T04:57:29.6893117Z       }
2026-06-16T04:57:29.6893217Z     },
2026-06-16T04:57:29.6893320Z     {
2026-06-16T04:57:29.6893465Z       "id": "REQ-HAZARD-CHILD-CONSOLE-FLASH",
2026-06-16T04:57:29.6893913Z       "title": "Console-subsystem children of the console-less daemon spawn with CREATE_NO_WINDOW, or each spawn flashes a visible blank window on the user's desktop (5.8)",
2026-06-16T04:57:29.6894043Z       "requiredStages": [
2026-06-16T04:57:29.6894146Z         "impl",
2026-06-16T04:57:29.6894246Z         "unit"
2026-06-16T04:57:29.6894353Z       ],
2026-06-16T04:57:29.6894447Z       "stages": {
2026-06-16T04:57:29.6894557Z         "doc": {
2026-06-16T04:57:29.6894657Z           "complete": true,
2026-06-16T04:57:29.6894762Z           "evidence": [
2026-06-16T04:57:29.6894856Z             {
2026-06-16T04:57:29.6894994Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.6895107Z               "line": 220
2026-06-16T04:57:29.6895206Z             }
2026-06-16T04:57:29.6895306Z           ]
2026-06-16T04:57:29.6895398Z         },
2026-06-16T04:57:29.6895502Z         "impl": {
2026-06-16T04:57:29.6895606Z           "complete": true,
2026-06-16T04:57:29.6895722Z           "evidence": [
2026-06-16T04:57:29.6895826Z             {
2026-06-16T04:57:29.6895984Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.6896108Z               "line": 311
2026-06-16T04:57:29.6896197Z             },
2026-06-16T04:57:29.6896303Z             {
2026-06-16T04:57:29.6896446Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.6896565Z               "line": 257
2026-06-16T04:57:29.6896671Z             },
2026-06-16T04:57:29.6896770Z             {
2026-06-16T04:57:29.6896924Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.6897033Z               "line": 405
2026-06-16T04:57:29.6897142Z             },
2026-06-16T04:57:29.6897244Z             {
2026-06-16T04:57:29.6897394Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.6897508Z               "line": 77
2026-06-16T04:57:29.6897608Z             }
2026-06-16T04:57:29.6897716Z           ]
2026-06-16T04:57:29.6897816Z         },
2026-06-16T04:57:29.6897916Z         "int": {
2026-06-16T04:57:29.6898022Z           "complete": false,
2026-06-16T04:57:29.6898144Z           "evidence": []
2026-06-16T04:57:29.6898246Z         },
2026-06-16T04:57:29.6898346Z         "unit": {
2026-06-16T04:57:29.6898469Z           "complete": true,
2026-06-16T04:57:29.6898575Z           "evidence": [
2026-06-16T04:57:29.6898675Z             {
2026-06-16T04:57:29.6898818Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.6898918Z               "line": 478
2026-06-16T04:57:29.6899117Z             },
2026-06-16T04:57:29.6899219Z             {
2026-06-16T04:57:29.6899365Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.6899471Z               "line": 516
2026-06-16T04:57:29.6899571Z             },
2026-06-16T04:57:29.6899671Z             {
2026-06-16T04:57:29.6899810Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.6899923Z               "line": 166
2026-06-16T04:57:29.6900028Z             }
2026-06-16T04:57:29.6900130Z           ]
2026-06-16T04:57:29.6900219Z         }
2026-06-16T04:57:29.6900428Z       }
2026-06-16T04:57:29.6900524Z     },
2026-06-16T04:57:29.6900796Z     {
2026-06-16T04:57:29.6900947Z       "id": "REQ-HAZARD-CONFLICT-BOTH-PRESERVED",
2026-06-16T04:57:29.6901529Z       "title": "A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)",
2026-06-16T04:57:29.6901648Z       "requiredStages": [
2026-06-16T04:57:29.6901745Z         "impl",
2026-06-16T04:57:29.6901844Z         "unit"
2026-06-16T04:57:29.6901949Z       ],
2026-06-16T04:57:29.6902045Z       "stages": {
2026-06-16T04:57:29.6902149Z         "doc": {
2026-06-16T04:57:29.6902254Z           "complete": false,
2026-06-16T04:57:29.6902365Z           "evidence": []
2026-06-16T04:57:29.6902464Z         },
2026-06-16T04:57:29.6902568Z         "impl": {
2026-06-16T04:57:29.6902682Z           "complete": true,
2026-06-16T04:57:29.6902776Z           "evidence": [
2026-06-16T04:57:29.6902890Z             {
2026-06-16T04:57:29.6903043Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T04:57:29.6903157Z               "line": 22
2026-06-16T04:57:29.6903256Z             },
2026-06-16T04:57:29.6903353Z             {
2026-06-16T04:57:29.6903495Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.6903590Z               "line": 487
2026-06-16T04:57:29.6903701Z             },
2026-06-16T04:57:29.6903791Z             {
2026-06-16T04:57:29.6903944Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T04:57:29.6904049Z               "line": 17
2026-06-16T04:57:29.6904177Z             },
2026-06-16T04:57:29.6904278Z             {
2026-06-16T04:57:29.6904430Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T04:57:29.6904539Z               "line": 147
2026-06-16T04:57:29.6904641Z             },
2026-06-16T04:57:29.6904739Z             {
2026-06-16T04:57:29.6904879Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6904993Z               "line": 226
2026-06-16T04:57:29.6905107Z             },
2026-06-16T04:57:29.6905203Z             {
2026-06-16T04:57:29.6905378Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6905496Z               "line": 251
2026-06-16T04:57:29.6905606Z             },
2026-06-16T04:57:29.6905709Z             {
2026-06-16T04:57:29.6905852Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6905963Z               "line": 277
2026-06-16T04:57:29.6906057Z             },
2026-06-16T04:57:29.6906171Z             {
2026-06-16T04:57:29.6906315Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.6906433Z               "line": 124
2026-06-16T04:57:29.6906540Z             },
2026-06-16T04:57:29.6906649Z             {
2026-06-16T04:57:29.6906801Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.6906907Z               "line": 224
2026-06-16T04:57:29.6907016Z             }
2026-06-16T04:57:29.6907111Z           ]
2026-06-16T04:57:29.6907226Z         },
2026-06-16T04:57:29.6907320Z         "int": {
2026-06-16T04:57:29.6907440Z           "complete": false,
2026-06-16T04:57:29.6907551Z           "evidence": []
2026-06-16T04:57:29.6907649Z         },
2026-06-16T04:57:29.6907751Z         "unit": {
2026-06-16T04:57:29.6907856Z           "complete": true,
2026-06-16T04:57:29.6907968Z           "evidence": [
2026-06-16T04:57:29.6908068Z             {
2026-06-16T04:57:29.6908220Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T04:57:29.6908337Z               "line": 63
2026-06-16T04:57:29.6908433Z             },
2026-06-16T04:57:29.6908534Z             {
2026-06-16T04:57:29.6908676Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T04:57:29.6908777Z               "line": 73
2026-06-16T04:57:29.6908877Z             },
2026-06-16T04:57:29.6909043Z             {
2026-06-16T04:57:29.6909187Z               "path": "crates/spt-daemon/src/reconcile.rs",
2026-06-16T04:57:29.6909393Z               "line": 85
2026-06-16T04:57:29.6909592Z             },
2026-06-16T04:57:29.6909697Z             {
2026-06-16T04:57:29.6909840Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.6909954Z               "line": 346
2026-06-16T04:57:29.6910055Z             },
2026-06-16T04:57:29.6910155Z             {
2026-06-16T04:57:29.6910283Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T04:57:29.6910399Z               "line": 281
2026-06-16T04:57:29.6910497Z             },
2026-06-16T04:57:29.6910598Z             {
2026-06-16T04:57:29.6910747Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T04:57:29.6910845Z               "line": 322
2026-06-16T04:57:29.6910940Z             },
2026-06-16T04:57:29.6919809Z             {
2026-06-16T04:57:29.6920010Z               "path": "crates/spt-live/src/reconcile.rs",
2026-06-16T04:57:29.6920129Z               "line": 360
2026-06-16T04:57:29.6920233Z             },
2026-06-16T04:57:29.6920353Z             {
2026-06-16T04:57:29.6920524Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.6920625Z               "line": 688
2026-06-16T04:57:29.6920734Z             },
2026-06-16T04:57:29.6920838Z             {
2026-06-16T04:57:29.6920992Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.6921101Z               "line": 397
2026-06-16T04:57:29.6921207Z             },
2026-06-16T04:57:29.6921312Z             {
2026-06-16T04:57:29.6921462Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.6921581Z               "line": 440
2026-06-16T04:57:29.6921678Z             }
2026-06-16T04:57:29.6921786Z           ]
2026-06-16T04:57:29.6921878Z         }
2026-06-16T04:57:29.6921987Z       }
2026-06-16T04:57:29.6922091Z     },
2026-06-16T04:57:29.6922197Z     {
2026-06-16T04:57:29.6922387Z       "id": "REQ-HAZARD-CONPTY-DSR",
2026-06-16T04:57:29.6922654Z       "title": "ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)",
2026-06-16T04:57:29.6922850Z       "requiredStages": [
2026-06-16T04:57:29.6922959Z         "impl",
2026-06-16T04:57:29.6923069Z         "unit"
2026-06-16T04:57:29.6923170Z       ],
2026-06-16T04:57:29.6923283Z       "stages": {
2026-06-16T04:57:29.6923388Z         "doc": {
2026-06-16T04:57:29.6923495Z           "complete": false,
2026-06-16T04:57:29.6923612Z           "evidence": []
2026-06-16T04:57:29.6923716Z         },
2026-06-16T04:57:29.6923836Z         "impl": {
2026-06-16T04:57:29.6923943Z           "complete": true,
2026-06-16T04:57:29.6924048Z           "evidence": [
2026-06-16T04:57:29.6924148Z             {
2026-06-16T04:57:29.6924291Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T04:57:29.6924406Z               "line": 169
2026-06-16T04:57:29.6924511Z             }
2026-06-16T04:57:29.6924615Z           ]
2026-06-16T04:57:29.6924715Z         },
2026-06-16T04:57:29.6924817Z         "int": {
2026-06-16T04:57:29.6924935Z           "complete": true,
2026-06-16T04:57:29.6925050Z           "evidence": [
2026-06-16T04:57:29.6925155Z             {
2026-06-16T04:57:29.6925292Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-16T04:57:29.6925408Z               "line": 44
2026-06-16T04:57:29.6925497Z             },
2026-06-16T04:57:29.6925602Z             {
2026-06-16T04:57:29.6925742Z               "path": "crates/spt-term/tests/dsr.rs",
2026-06-16T04:57:29.6925850Z               "line": 66
2026-06-16T04:57:29.6925960Z             }
2026-06-16T04:57:29.6926052Z           ]
2026-06-16T04:57:29.6926155Z         },
2026-06-16T04:57:29.6926256Z         "unit": {
2026-06-16T04:57:29.6926362Z           "complete": true,
2026-06-16T04:57:29.6926475Z           "evidence": [
2026-06-16T04:57:29.6926574Z             {
2026-06-16T04:57:29.6926717Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T04:57:29.6926824Z               "line": 186
2026-06-16T04:57:29.6926924Z             },
2026-06-16T04:57:29.6927025Z             {
2026-06-16T04:57:29.6927350Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T04:57:29.6927559Z               "line": 238
2026-06-16T04:57:29.6927665Z             },
2026-06-16T04:57:29.6927774Z             {
2026-06-16T04:57:29.6927912Z               "path": "crates/spt-term/src/reader.rs",
2026-06-16T04:57:29.6928027Z               "line": 266
2026-06-16T04:57:29.6928122Z             }
2026-06-16T04:57:29.6928217Z           ]
2026-06-16T04:57:29.6928323Z         }
2026-06-16T04:57:29.6928422Z       }
2026-06-16T04:57:29.6928527Z     },
2026-06-16T04:57:29.6928624Z     {
2026-06-16T04:57:29.6928765Z       "id": "REQ-HAZARD-DAEMON-HOSTED-LIVENESS",
2026-06-16T04:57:29.6929312Z       "title": "Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)",
2026-06-16T04:57:29.6929425Z       "requiredStages": [
2026-06-16T04:57:29.6929525Z         "impl",
2026-06-16T04:57:29.6929626Z         "unit",
2026-06-16T04:57:29.6929735Z         "int"
2026-06-16T04:57:29.6929840Z       ],
2026-06-16T04:57:29.6929955Z       "stages": {
2026-06-16T04:57:29.6930059Z         "doc": {
2026-06-16T04:57:29.6930173Z           "complete": false,
2026-06-16T04:57:29.6930288Z           "evidence": []
2026-06-16T04:57:29.6930388Z         },
2026-06-16T04:57:29.6930498Z         "impl": {
2026-06-16T04:57:29.6930608Z           "complete": true,
2026-06-16T04:57:29.6930721Z           "evidence": [
2026-06-16T04:57:29.6930827Z             {
2026-06-16T04:57:29.6930970Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6931089Z               "line": 152
2026-06-16T04:57:29.6931194Z             },
2026-06-16T04:57:29.6931298Z             {
2026-06-16T04:57:29.6931442Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6931561Z               "line": 176
2026-06-16T04:57:29.6931671Z             },
2026-06-16T04:57:29.6931767Z             {
2026-06-16T04:57:29.6931918Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.6932031Z               "line": 79
2026-06-16T04:57:29.6932137Z             },
2026-06-16T04:57:29.6932238Z             {
2026-06-16T04:57:29.6932385Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.6932495Z               "line": 52
2026-06-16T04:57:29.6932600Z             },
2026-06-16T04:57:29.6932699Z             {
2026-06-16T04:57:29.6932824Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.6932943Z               "line": 205
2026-06-16T04:57:29.6933047Z             },
2026-06-16T04:57:29.6933153Z             {
2026-06-16T04:57:29.6933300Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6933406Z               "line": 27
2026-06-16T04:57:29.6933515Z             },
2026-06-16T04:57:29.6933605Z             {
2026-06-16T04:57:29.6933749Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6933858Z               "line": 79
2026-06-16T04:57:29.6933968Z             },
2026-06-16T04:57:29.6934074Z             {
2026-06-16T04:57:29.6934219Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6934319Z               "line": 102
2026-06-16T04:57:29.6934415Z             },
2026-06-16T04:57:29.6934541Z             {
2026-06-16T04:57:29.6934680Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.6934791Z               "line": 116
2026-06-16T04:57:29.6934899Z             }
2026-06-16T04:57:29.6934999Z           ]
2026-06-16T04:57:29.6935095Z         },
2026-06-16T04:57:29.6935194Z         "int": {
2026-06-16T04:57:29.6935305Z           "complete": true,
2026-06-16T04:57:29.6935409Z           "evidence": [
2026-06-16T04:57:29.6935518Z             {
2026-06-16T04:57:29.6935677Z               "path": "crates/spt-daemon/tests/daemon_e2e.rs",
2026-06-16T04:57:29.6935777Z               "line": 43
2026-06-16T04:57:29.6935881Z             }
2026-06-16T04:57:29.6935977Z           ]
2026-06-16T04:57:29.6936081Z         },
2026-06-16T04:57:29.6936297Z         "unit": {
2026-06-16T04:57:29.6936535Z           "complete": true,
2026-06-16T04:57:29.6936645Z           "evidence": [
2026-06-16T04:57:29.6936748Z             {
2026-06-16T04:57:29.6936898Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6937003Z               "line": 628
2026-06-16T04:57:29.6937111Z             },
2026-06-16T04:57:29.6937216Z             {
2026-06-16T04:57:29.6937352Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.6937461Z               "line": 369
2026-06-16T04:57:29.6937561Z             },
2026-06-16T04:57:29.6937667Z             {
2026-06-16T04:57:29.6937795Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6937910Z               "line": 124
2026-06-16T04:57:29.6938015Z             },
2026-06-16T04:57:29.6938109Z             {
2026-06-16T04:57:29.6938263Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6938371Z               "line": 143
2026-06-16T04:57:29.6938486Z             },
2026-06-16T04:57:29.6938587Z             {
2026-06-16T04:57:29.6938729Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6938835Z               "line": 160
2026-06-16T04:57:29.6938930Z             },
2026-06-16T04:57:29.6939116Z             {
2026-06-16T04:57:29.6939254Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6939364Z               "line": 187
2026-06-16T04:57:29.6939465Z             },
2026-06-16T04:57:29.6939574Z             {
2026-06-16T04:57:29.6939719Z               "path": "crates/spt-store/src/liveness.rs",
2026-06-16T04:57:29.6939820Z               "line": 206
2026-06-16T04:57:29.6939923Z             },
2026-06-16T04:57:29.6940018Z             {
2026-06-16T04:57:29.6940152Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.6940262Z               "line": 229
2026-06-16T04:57:29.6940370Z             }
2026-06-16T04:57:29.6940477Z           ]
2026-06-16T04:57:29.6940567Z         }
2026-06-16T04:57:29.6940666Z       }
2026-06-16T04:57:29.6940773Z     },
2026-06-16T04:57:29.6940872Z     {
2026-06-16T04:57:29.6941009Z       "id": "REQ-HAZARD-DAEMON-SCHED-NONBLOCKING",
2026-06-16T04:57:29.6941697Z       "title": "Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)",
2026-06-16T04:57:29.6941816Z       "requiredStages": [
2026-06-16T04:57:29.6941916Z         "impl",
2026-06-16T04:57:29.6942022Z         "unit"
2026-06-16T04:57:29.6942126Z       ],
2026-06-16T04:57:29.6942231Z       "stages": {
2026-06-16T04:57:29.6942341Z         "doc": {
2026-06-16T04:57:29.6942450Z           "complete": false,
2026-06-16T04:57:29.6942573Z           "evidence": []
2026-06-16T04:57:29.6942668Z         },
2026-06-16T04:57:29.6942779Z         "impl": {
2026-06-16T04:57:29.6942883Z           "complete": true,
2026-06-16T04:57:29.6942993Z           "evidence": [
2026-06-16T04:57:29.6943098Z             {
2026-06-16T04:57:29.6943235Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6943346Z               "line": 621
2026-06-16T04:57:29.6943446Z             },
2026-06-16T04:57:29.6943550Z             {
2026-06-16T04:57:29.6943694Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.6943794Z               "line": 834
2026-06-16T04:57:29.6943903Z             }
2026-06-16T04:57:29.6944000Z           ]
2026-06-16T04:57:29.6944099Z         },
2026-06-16T04:57:29.6944203Z         "int": {
2026-06-16T04:57:29.6944314Z           "complete": false,
2026-06-16T04:57:29.6944418Z           "evidence": []
2026-06-16T04:57:29.6944528Z         },
2026-06-16T04:57:29.6944624Z         "unit": {
2026-06-16T04:57:29.6944738Z           "complete": true,
2026-06-16T04:57:29.6944851Z           "evidence": [
2026-06-16T04:57:29.6944951Z             {
2026-06-16T04:57:29.6945111Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T04:57:29.6945402Z               "line": 161
2026-06-16T04:57:29.6945511Z             }
2026-06-16T04:57:29.6945613Z           ]
2026-06-16T04:57:29.6945717Z         }
2026-06-16T04:57:29.6945821Z       }
2026-06-16T04:57:29.6945918Z     },
2026-06-16T04:57:29.6946022Z     {
2026-06-16T04:57:29.6946150Z       "id": "REQ-HAZARD-DEFERRED-DRAIN",
2026-06-16T04:57:29.6946365Z       "title": "Deferred spool rows excluded from the event-stream drain (1.4)",
2026-06-16T04:57:29.6946489Z       "requiredStages": [
2026-06-16T04:57:29.6946590Z         "impl",
2026-06-16T04:57:29.6946694Z         "unit"
2026-06-16T04:57:29.6946794Z       ],
2026-06-16T04:57:29.6946900Z       "stages": {
2026-06-16T04:57:29.6946999Z         "doc": {
2026-06-16T04:57:29.6947119Z           "complete": false,
2026-06-16T04:57:29.6947239Z           "evidence": []
2026-06-16T04:57:29.6947333Z         },
2026-06-16T04:57:29.6947439Z         "impl": {
2026-06-16T04:57:29.6947558Z           "complete": true,
2026-06-16T04:57:29.6947680Z           "evidence": [
2026-06-16T04:57:29.6947780Z             {
2026-06-16T04:57:29.6947922Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6948035Z               "line": 40
2026-06-16T04:57:29.6948136Z             },
2026-06-16T04:57:29.6948232Z             {
2026-06-16T04:57:29.6948374Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6948485Z               "line": 103
2026-06-16T04:57:29.6948584Z             },
2026-06-16T04:57:29.6948684Z             {
2026-06-16T04:57:29.6948828Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6948937Z               "line": 218
2026-06-16T04:57:29.6949119Z             },
2026-06-16T04:57:29.6949218Z             {
2026-06-16T04:57:29.6949351Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6949457Z               "line": 323
2026-06-16T04:57:29.6949561Z             }
2026-06-16T04:57:29.6949666Z           ]
2026-06-16T04:57:29.6949763Z         },
2026-06-16T04:57:29.6949871Z         "int": {
2026-06-16T04:57:29.6949986Z           "complete": false,
2026-06-16T04:57:29.6950097Z           "evidence": []
2026-06-16T04:57:29.6950200Z         },
2026-06-16T04:57:29.6950308Z         "unit": {
2026-06-16T04:57:29.6950419Z           "complete": true,
2026-06-16T04:57:29.6950526Z           "evidence": [
2026-06-16T04:57:29.6950630Z             {
2026-06-16T04:57:29.6950775Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6950888Z               "line": 361
2026-06-16T04:57:29.6950988Z             },
2026-06-16T04:57:29.6951094Z             {
2026-06-16T04:57:29.6951236Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6951342Z               "line": 433
2026-06-16T04:57:29.6951447Z             },
2026-06-16T04:57:29.6951541Z             {
2026-06-16T04:57:29.6951685Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6951794Z               "line": 496
2026-06-16T04:57:29.6951894Z             },
2026-06-16T04:57:29.6951996Z             {
2026-06-16T04:57:29.6952133Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6952243Z               "line": 517
2026-06-16T04:57:29.6952348Z             }
2026-06-16T04:57:29.6952443Z           ]
2026-06-16T04:57:29.6952538Z         }
2026-06-16T04:57:29.6952635Z       }
2026-06-16T04:57:29.6952743Z     },
2026-06-16T04:57:29.6952843Z     {
2026-06-16T04:57:29.6952992Z       "id": "REQ-HAZARD-DEFERRED-SURVIVE-DRAIN",
2026-06-16T04:57:29.6953138Z       "title": "Deferred rows survive poll drain (4.4)",
2026-06-16T04:57:29.6953258Z       "requiredStages": [
2026-06-16T04:57:29.6953358Z         "impl",
2026-06-16T04:57:29.6953466Z         "unit"
2026-06-16T04:57:29.6953572Z       ],
2026-06-16T04:57:29.6953677Z       "stages": {
2026-06-16T04:57:29.6953786Z         "doc": {
2026-06-16T04:57:29.6953897Z           "complete": false,
2026-06-16T04:57:29.6954016Z           "evidence": []
2026-06-16T04:57:29.6954221Z         },
2026-06-16T04:57:29.6954420Z         "impl": {
2026-06-16T04:57:29.6954532Z           "complete": true,
2026-06-16T04:57:29.6954640Z           "evidence": [
2026-06-16T04:57:29.6954740Z             {
2026-06-16T04:57:29.6954884Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6954997Z               "line": 116
2026-06-16T04:57:29.6955103Z             },
2026-06-16T04:57:29.6955213Z             {
2026-06-16T04:57:29.6955340Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6955444Z               "line": 211
2026-06-16T04:57:29.6955549Z             }
2026-06-16T04:57:29.6955657Z           ]
2026-06-16T04:57:29.6955761Z         },
2026-06-16T04:57:29.6955868Z         "int": {
2026-06-16T04:57:29.6955977Z           "complete": false,
2026-06-16T04:57:29.6956086Z           "evidence": []
2026-06-16T04:57:29.6956197Z         },
2026-06-16T04:57:29.6956301Z         "unit": {
2026-06-16T04:57:29.6956415Z           "complete": true,
2026-06-16T04:57:29.6956530Z           "evidence": [
2026-06-16T04:57:29.6956644Z             {
2026-06-16T04:57:29.6956778Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6956882Z               "line": 388
2026-06-16T04:57:29.6956991Z             },
2026-06-16T04:57:29.6957093Z             {
2026-06-16T04:57:29.6957231Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.6957350Z               "line": 469
2026-06-16T04:57:29.6957446Z             }
2026-06-16T04:57:29.6957549Z           ]
2026-06-16T04:57:29.6957640Z         }
2026-06-16T04:57:29.6957747Z       }
2026-06-16T04:57:29.6957841Z     },
2026-06-16T04:57:29.6957941Z     {
2026-06-16T04:57:29.6958085Z       "id": "REQ-HAZARD-DETACHED-PIPE-INHERIT",
2026-06-16T04:57:29.6959469Z       "title": "Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)",
2026-06-16T04:57:29.6959606Z       "requiredStages": [
2026-06-16T04:57:29.6959712Z         "impl",
2026-06-16T04:57:29.6959817Z         "unit"
2026-06-16T04:57:29.6959926Z       ],
2026-06-16T04:57:29.6960032Z       "stages": {
2026-06-16T04:57:29.6960136Z         "doc": {
2026-06-16T04:57:29.6960246Z           "complete": true,
2026-06-16T04:57:29.6960365Z           "evidence": [
2026-06-16T04:57:29.6960455Z             {
2026-06-16T04:57:29.6960581Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.6960690Z               "line": 206
2026-06-16T04:57:29.6960788Z             }
2026-06-16T04:57:29.6960883Z           ]
2026-06-16T04:57:29.6960984Z         },
2026-06-16T04:57:29.6961091Z         "impl": {
2026-06-16T04:57:29.6961205Z           "complete": true,
2026-06-16T04:57:29.6961315Z           "evidence": [
2026-06-16T04:57:29.6961424Z             {
2026-06-16T04:57:29.6961573Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6961692Z               "line": 630
2026-06-16T04:57:29.6961782Z             },
2026-06-16T04:57:29.6961893Z             {
2026-06-16T04:57:29.6962031Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6962139Z               "line": 722
2026-06-16T04:57:29.6962251Z             },
2026-06-16T04:57:29.6962355Z             {
2026-06-16T04:57:29.6962508Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.6962607Z               "line": 183
2026-06-16T04:57:29.6962716Z             }
2026-06-16T04:57:29.6962818Z           ]
2026-06-16T04:57:29.6962918Z         },
2026-06-16T04:57:29.6963012Z         "int": {
2026-06-16T04:57:29.6963123Z           "complete": false,
2026-06-16T04:57:29.6963228Z           "evidence": []
2026-06-16T04:57:29.6963327Z         },
2026-06-16T04:57:29.6963433Z         "unit": {
2026-06-16T04:57:29.6963543Z           "complete": true,
2026-06-16T04:57:29.6963779Z           "evidence": [
2026-06-16T04:57:29.6963979Z             {
2026-06-16T04:57:29.6964118Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.6964228Z               "line": 771
2026-06-16T04:57:29.6964322Z             },
2026-06-16T04:57:29.6964433Z             {
2026-06-16T04:57:29.6964571Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T04:57:29.6964680Z               "line": 44
2026-06-16T04:57:29.6964782Z             },
2026-06-16T04:57:29.6964876Z             {
2026-06-16T04:57:29.6965033Z               "path": "crates/spt/tests/shell_actgate_e2e.rs",
2026-06-16T04:57:29.6965143Z               "line": 52
2026-06-16T04:57:29.6965248Z             },
2026-06-16T04:57:29.6965353Z             {
2026-06-16T04:57:29.6965491Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T04:57:29.6965596Z               "line": 57
2026-06-16T04:57:29.6965697Z             },
2026-06-16T04:57:29.6965806Z             {
2026-06-16T04:57:29.6965952Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-16T04:57:29.6966081Z               "line": 54
2026-06-16T04:57:29.6966184Z             }
2026-06-16T04:57:29.6966293Z           ]
2026-06-16T04:57:29.6966403Z         }
2026-06-16T04:57:29.6966503Z       }
2026-06-16T04:57:29.6966612Z     },
2026-06-16T04:57:29.6966713Z     {
2026-06-16T04:57:29.6966861Z       "id": "REQ-HAZARD-DIRECT-WRITE-PRECEDENCE",
2026-06-16T04:57:29.6967105Z       "title": "Direct-write precedence marker (with node id) guards stale overwrite (6.5)",
2026-06-16T04:57:29.6967223Z       "requiredStages": [
2026-06-16T04:57:29.6967325Z         "impl",
2026-06-16T04:57:29.6967414Z         "unit"
2026-06-16T04:57:29.6967509Z       ],
2026-06-16T04:57:29.6967614Z       "stages": {
2026-06-16T04:57:29.6967715Z         "doc": {
2026-06-16T04:57:29.6967824Z           "complete": false,
2026-06-16T04:57:29.6967944Z           "evidence": []
2026-06-16T04:57:29.6968053Z         },
2026-06-16T04:57:29.6968163Z         "impl": {
2026-06-16T04:57:29.6968288Z           "complete": true,
2026-06-16T04:57:29.6968396Z           "evidence": [
2026-06-16T04:57:29.6968501Z             {
2026-06-16T04:57:29.6968645Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6968754Z               "line": 26
2026-06-16T04:57:29.6968862Z             },
2026-06-16T04:57:29.6969051Z             {
2026-06-16T04:57:29.6969203Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6969314Z               "line": 135
2026-06-16T04:57:29.6969423Z             },
2026-06-16T04:57:29.6969509Z             {
2026-06-16T04:57:29.6969666Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6969766Z               "line": 26
2026-06-16T04:57:29.6969862Z             },
2026-06-16T04:57:29.6969957Z             {
2026-06-16T04:57:29.6970104Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6970215Z               "line": 237
2026-06-16T04:57:29.6970324Z             }
2026-06-16T04:57:29.6970433Z           ]
2026-06-16T04:57:29.6970535Z         },
2026-06-16T04:57:29.6970639Z         "int": {
2026-06-16T04:57:29.6970748Z           "complete": false,
2026-06-16T04:57:29.6970854Z           "evidence": []
2026-06-16T04:57:29.6970958Z         },
2026-06-16T04:57:29.6971063Z         "unit": {
2026-06-16T04:57:29.6971179Z           "complete": true,
2026-06-16T04:57:29.6971287Z           "evidence": [
2026-06-16T04:57:29.6971391Z             {
2026-06-16T04:57:29.6971539Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6971646Z               "line": 161
2026-06-16T04:57:29.6971750Z             },
2026-06-16T04:57:29.6971852Z             {
2026-06-16T04:57:29.6971994Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6972104Z               "line": 170
2026-06-16T04:57:29.6972204Z             },
2026-06-16T04:57:29.6972313Z             {
2026-06-16T04:57:29.6972434Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6972671Z               "line": 179
2026-06-16T04:57:29.6972871Z             },
2026-06-16T04:57:29.6972966Z             {
2026-06-16T04:57:29.6973111Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6973210Z               "line": 190
2026-06-16T04:57:29.6973320Z             },
2026-06-16T04:57:29.6973426Z             {
2026-06-16T04:57:29.6973573Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6973707Z               "line": 199
2026-06-16T04:57:29.6973816Z             },
2026-06-16T04:57:29.6973920Z             {
2026-06-16T04:57:29.6974055Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6974168Z               "line": 216
2026-06-16T04:57:29.6974272Z             },
2026-06-16T04:57:29.6974368Z             {
2026-06-16T04:57:29.6974502Z               "path": "crates/spt-live/src/context.rs",
2026-06-16T04:57:29.6974601Z               "line": 242
2026-06-16T04:57:29.6974707Z             },
2026-06-16T04:57:29.6974817Z             {
2026-06-16T04:57:29.6974964Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6975074Z               "line": 295
2026-06-16T04:57:29.6975178Z             },
2026-06-16T04:57:29.6975293Z             {
2026-06-16T04:57:29.6975422Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.6975531Z               "line": 244
2026-06-16T04:57:29.6975627Z             },
2026-06-16T04:57:29.6975736Z             {
2026-06-16T04:57:29.6975884Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6975990Z               "line": 265
2026-06-16T04:57:29.6976103Z             },
2026-06-16T04:57:29.6976204Z             {
2026-06-16T04:57:29.6976357Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6976465Z               "line": 293
2026-06-16T04:57:29.6976574Z             },
2026-06-16T04:57:29.6976674Z             {
2026-06-16T04:57:29.6976820Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6976949Z               "line": 317
2026-06-16T04:57:29.6977045Z             },
2026-06-16T04:57:29.6977177Z             {
2026-06-16T04:57:29.6977322Z               "path": "crates/spt-store/src/contextmark.rs",
2026-06-16T04:57:29.6977435Z               "line": 327
2026-06-16T04:57:29.6977535Z             },
2026-06-16T04:57:29.6977645Z             {
2026-06-16T04:57:29.6977792Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.6977899Z               "line": 540
2026-06-16T04:57:29.6978003Z             }
2026-06-16T04:57:29.6978093Z           ]
2026-06-16T04:57:29.6978194Z         }
2026-06-16T04:57:29.6978289Z       }
2026-06-16T04:57:29.6978384Z     },
2026-06-16T04:57:29.6978490Z     {
2026-06-16T04:57:29.6978637Z       "id": "REQ-HAZARD-DROP-FILE-SINGLE-WRITER",
2026-06-16T04:57:29.6978805Z       "title": "Drop files are daemon-owned single-writer (6.4)",
2026-06-16T04:57:29.6978905Z       "requiredStages": [
2026-06-16T04:57:29.6979105Z         "impl",
2026-06-16T04:57:29.6979215Z         "unit"
2026-06-16T04:57:29.6979318Z       ],
2026-06-16T04:57:29.6979427Z       "stages": {
2026-06-16T04:57:29.6979527Z         "doc": {
2026-06-16T04:57:29.6979645Z           "complete": false,
2026-06-16T04:57:29.6979739Z           "evidence": []
2026-06-16T04:57:29.6979835Z         },
2026-06-16T04:57:29.6979940Z         "impl": {
2026-06-16T04:57:29.6980054Z           "complete": true,
2026-06-16T04:57:29.6980174Z           "evidence": [
2026-06-16T04:57:29.6980269Z             {
2026-06-16T04:57:29.6980417Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.6980522Z               "line": 25
2026-06-16T04:57:29.6980631Z             },
2026-06-16T04:57:29.6980727Z             {
2026-06-16T04:57:29.6980860Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6980970Z               "line": 26
2026-06-16T04:57:29.6981071Z             },
2026-06-16T04:57:29.6981180Z             {
2026-06-16T04:57:29.6981405Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6981600Z               "line": 159
2026-06-16T04:57:29.6981706Z             }
2026-06-16T04:57:29.6981805Z           ]
2026-06-16T04:57:29.6981908Z         },
2026-06-16T04:57:29.6982013Z         "int": {
2026-06-16T04:57:29.6982132Z           "complete": false,
2026-06-16T04:57:29.6982225Z           "evidence": []
2026-06-16T04:57:29.6982325Z         },
2026-06-16T04:57:29.6982431Z         "unit": {
2026-06-16T04:57:29.6982545Z           "complete": true,
2026-06-16T04:57:29.6982664Z           "evidence": [
2026-06-16T04:57:29.6982769Z             {
2026-06-16T04:57:29.6982902Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.6983008Z               "line": 188
2026-06-16T04:57:29.6983117Z             },
2026-06-16T04:57:29.6983226Z             {
2026-06-16T04:57:29.6983356Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.6983460Z               "line": 240
2026-06-16T04:57:29.6983565Z             },
2026-06-16T04:57:29.6983666Z             {
2026-06-16T04:57:29.6983804Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.6983923Z               "line": 186
2026-06-16T04:57:29.6984024Z             }
2026-06-16T04:57:29.6984113Z           ]
2026-06-16T04:57:29.6984219Z         }
2026-06-16T04:57:29.6984320Z       }
2026-06-16T04:57:29.6984427Z     },
2026-06-16T04:57:29.6984529Z     {
2026-06-16T04:57:29.6984663Z       "id": "REQ-HAZARD-EBUSY-RENAME",
2026-06-16T04:57:29.6984856Z       "title": "tmp-write + atomic-rename + retry on Windows EBUSY (5.2)",
2026-06-16T04:57:29.6984967Z       "requiredStages": [
2026-06-16T04:57:29.6985076Z         "impl",
2026-06-16T04:57:29.6985176Z         "unit"
2026-06-16T04:57:29.6985277Z       ],
2026-06-16T04:57:29.6985377Z       "stages": {
2026-06-16T04:57:29.6985486Z         "doc": {
2026-06-16T04:57:29.6985606Z           "complete": false,
2026-06-16T04:57:29.6985710Z           "evidence": []
2026-06-16T04:57:29.6985819Z         },
2026-06-16T04:57:29.6985930Z         "impl": {
2026-06-16T04:57:29.6986053Z           "complete": true,
2026-06-16T04:57:29.6986163Z           "evidence": [
2026-06-16T04:57:29.6986269Z             {
2026-06-16T04:57:29.6986411Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6986526Z               "line": 48
2026-06-16T04:57:29.6986639Z             },
2026-06-16T04:57:29.6986749Z             {
2026-06-16T04:57:29.6986889Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6986997Z               "line": 55
2026-06-16T04:57:29.6987105Z             },
2026-06-16T04:57:29.6987211Z             {
2026-06-16T04:57:29.6987342Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6987452Z               "line": 74
2026-06-16T04:57:29.6987557Z             },
2026-06-16T04:57:29.6987662Z             {
2026-06-16T04:57:29.6987790Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6987896Z               "line": 91
2026-06-16T04:57:29.6988009Z             }
2026-06-16T04:57:29.6988110Z           ]
2026-06-16T04:57:29.6988220Z         },
2026-06-16T04:57:29.6988314Z         "int": {
2026-06-16T04:57:29.6988435Z           "complete": false,
2026-06-16T04:57:29.6988544Z           "evidence": []
2026-06-16T04:57:29.6988648Z         },
2026-06-16T04:57:29.6988754Z         "unit": {
2026-06-16T04:57:29.6988858Z           "complete": true,
2026-06-16T04:57:29.6989040Z           "evidence": [
2026-06-16T04:57:29.6989145Z             {
2026-06-16T04:57:29.6989287Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6989394Z               "line": 149
2026-06-16T04:57:29.6989502Z             },
2026-06-16T04:57:29.6989607Z             {
2026-06-16T04:57:29.6989747Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6989854Z               "line": 166
2026-06-16T04:57:29.6989958Z             },
2026-06-16T04:57:29.6990064Z             {
2026-06-16T04:57:29.6990190Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6990500Z               "line": 176
2026-06-16T04:57:29.6990604Z             },
2026-06-16T04:57:29.6990701Z             {
2026-06-16T04:57:29.6990843Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6990943Z               "line": 194
2026-06-16T04:57:29.6991054Z             },
2026-06-16T04:57:29.6991154Z             {
2026-06-16T04:57:29.6991296Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.6991411Z               "line": 207
2026-06-16T04:57:29.6991511Z             }
2026-06-16T04:57:29.6991611Z           ]
2026-06-16T04:57:29.6991717Z         }
2026-06-16T04:57:29.6991806Z       }
2026-06-16T04:57:29.6991912Z     },
2026-06-16T04:57:29.6992017Z     {
2026-06-16T04:57:29.6992165Z       "id": "REQ-HAZARD-ECHO-BEFORE-SIGNOFF",
2026-06-16T04:57:29.6992375Z       "title": "Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)",
2026-06-16T04:57:29.6992497Z       "requiredStages": [
2026-06-16T04:57:29.6992612Z         "impl",
2026-06-16T04:57:29.6992729Z         "unit"
2026-06-16T04:57:29.6992828Z       ],
2026-06-16T04:57:29.6992929Z       "stages": {
2026-06-16T04:57:29.6993044Z         "doc": {
2026-06-16T04:57:29.6993166Z           "complete": false,
2026-06-16T04:57:29.6993282Z           "evidence": []
2026-06-16T04:57:29.6993387Z         },
2026-06-16T04:57:29.6993505Z         "impl": {
2026-06-16T04:57:29.6993611Z           "complete": true,
2026-06-16T04:57:29.6993730Z           "evidence": [
2026-06-16T04:57:29.6993835Z             {
2026-06-16T04:57:29.6993987Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.6994101Z               "line": 416
2026-06-16T04:57:29.6994203Z             },
2026-06-16T04:57:29.6994312Z             {
2026-06-16T04:57:29.6994450Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.6994560Z               "line": 26
2026-06-16T04:57:29.6994673Z             }
2026-06-16T04:57:29.6994774Z           ]
2026-06-16T04:57:29.6994894Z         },
2026-06-16T04:57:29.6995002Z         "int": {
2026-06-16T04:57:29.6995118Z           "complete": false,
2026-06-16T04:57:29.6995228Z           "evidence": []
2026-06-16T04:57:29.6995331Z         },
2026-06-16T04:57:29.6995440Z         "unit": {
2026-06-16T04:57:29.6995551Z           "complete": true,
2026-06-16T04:57:29.6995664Z           "evidence": [
2026-06-16T04:57:29.6995764Z             {
2026-06-16T04:57:29.6995898Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.6996007Z               "line": 150
2026-06-16T04:57:29.6996137Z             },
2026-06-16T04:57:29.6996247Z             {
2026-06-16T04:57:29.6996384Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.6996500Z               "line": 208
2026-06-16T04:57:29.6996600Z             }
2026-06-16T04:57:29.6996709Z           ]
2026-06-16T04:57:29.6996810Z         }
2026-06-16T04:57:29.6996914Z       }
2026-06-16T04:57:29.6997019Z     },
2026-06-16T04:57:29.6997125Z     {
2026-06-16T04:57:29.6997271Z       "id": "REQ-HAZARD-ELEVATED-DAEMON-SPAWN",
2026-06-16T04:57:29.6998761Z       "title": "The daemon always runs unelevated in the invoking user's universe, regardless of which command spawns it: an elevated spawner de-elevates (Windows: UAC linked token via CreateProcessWithTokenW; Linux: drop to SUDO_UID/SUDO_GID + the invoker's HOME) — an elevated daemon's pipes deny unelevated clients (every later spt reads not-running→spawn→bind Access-denied) and a sudo'd daemon roots the user's state universe (5.7)",
2026-06-16T04:57:29.6998894Z       "requiredStages": [
2026-06-16T04:57:29.7007661Z         "doc",
2026-06-16T04:57:29.7007817Z         "impl",
2026-06-16T04:57:29.7007927Z         "unit"
2026-06-16T04:57:29.7008037Z       ],
2026-06-16T04:57:29.7008136Z       "stages": {
2026-06-16T04:57:29.7008255Z         "doc": {
2026-06-16T04:57:29.7008406Z           "complete": true,
2026-06-16T04:57:29.7008505Z           "evidence": [
2026-06-16T04:57:29.7008610Z             {
2026-06-16T04:57:29.7008920Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7009302Z               "line": 214
2026-06-16T04:57:29.7009439Z             }
2026-06-16T04:57:29.7009560Z           ]
2026-06-16T04:57:29.7009688Z         },
2026-06-16T04:57:29.7009821Z         "impl": {
2026-06-16T04:57:29.7009946Z           "complete": true,
2026-06-16T04:57:29.7010050Z           "evidence": [
2026-06-16T04:57:29.7010155Z             {
2026-06-16T04:57:29.7010303Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.7010427Z               "line": 56
2026-06-16T04:57:29.7010533Z             },
2026-06-16T04:57:29.7010632Z             {
2026-06-16T04:57:29.7010785Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.7010886Z               "line": 548
2026-06-16T04:57:29.7010998Z             },
2026-06-16T04:57:29.7011102Z             {
2026-06-16T04:57:29.7011250Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7011367Z               "line": 36
2026-06-16T04:57:29.7011482Z             },
2026-06-16T04:57:29.7011593Z             {
2026-06-16T04:57:29.7011739Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7011845Z               "line": 59
2026-06-16T04:57:29.7011945Z             },
2026-06-16T04:57:29.7012049Z             {
2026-06-16T04:57:29.7012197Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7012302Z               "line": 83
2026-06-16T04:57:29.7012407Z             },
2026-06-16T04:57:29.7012508Z             {
2026-06-16T04:57:29.7012655Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7012766Z               "line": 140
2026-06-16T04:57:29.7012879Z             },
2026-06-16T04:57:29.7012979Z             {
2026-06-16T04:57:29.7013128Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7013232Z               "line": 159
2026-06-16T04:57:29.7013337Z             },
2026-06-16T04:57:29.7013453Z             {
2026-06-16T04:57:29.7013594Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7013712Z               "line": 384
2026-06-16T04:57:29.7013816Z             },
2026-06-16T04:57:29.7013930Z             {
2026-06-16T04:57:29.7014097Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7014197Z               "line": 526
2026-06-16T04:57:29.7014301Z             },
2026-06-16T04:57:29.7014407Z             {
2026-06-16T04:57:29.7014554Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7014659Z               "line": 572
2026-06-16T04:57:29.7014769Z             },
2026-06-16T04:57:29.7014878Z             {
2026-06-16T04:57:29.7015004Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7015112Z               "line": 300
2026-06-16T04:57:29.7015212Z             },
2026-06-16T04:57:29.7015318Z             {
2026-06-16T04:57:29.7015456Z               "path": "crates/spt/src/main.rs",
2026-06-16T04:57:29.7015555Z               "line": 41
2026-06-16T04:57:29.7015662Z             }
2026-06-16T04:57:29.7015765Z           ]
2026-06-16T04:57:29.7015870Z         },
2026-06-16T04:57:29.7015977Z         "int": {
2026-06-16T04:57:29.7016099Z           "complete": false,
2026-06-16T04:57:29.7016204Z           "evidence": []
2026-06-16T04:57:29.7016320Z         },
2026-06-16T04:57:29.7016427Z         "unit": {
2026-06-16T04:57:29.7016532Z           "complete": true,
2026-06-16T04:57:29.7016652Z           "evidence": [
2026-06-16T04:57:29.7016742Z             {
2026-06-16T04:57:29.7016904Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7017010Z               "line": 785
2026-06-16T04:57:29.7017114Z             },
2026-06-16T04:57:29.7017219Z             {
2026-06-16T04:57:29.7017362Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7017475Z               "line": 826
2026-06-16T04:57:29.7017568Z             },
2026-06-16T04:57:29.7017672Z             {
2026-06-16T04:57:29.7017939Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7018110Z               "line": 900
2026-06-16T04:57:29.7018221Z             }
2026-06-16T04:57:29.7018320Z           ]
2026-06-16T04:57:29.7018425Z         }
2026-06-16T04:57:29.7018531Z       }
2026-06-16T04:57:29.7018639Z     },
2026-06-16T04:57:29.7018729Z     {
2026-06-16T04:57:29.7018862Z       "id": "REQ-HAZARD-ENVELOPE-CR-LINESAFE",
2026-06-16T04:57:29.7020807Z       "title": "Envelope CR-linesafety (4.1): the line-framed EVENT codec must neutralize raw carriage returns — `event_body_escape` folds CRLF/lone-CR to the codec's representable linebreak (`\\n`→`<br>`) BEFORE framing, so a body carrying `\\r` (Windows `echo`/CRLF text crossing nodes) cannot survive into the single-line envelope and trigger a receiver terminal CR→col0 overwrite that corrupts the frame. Robustness on unrepresentable input, NOT a wire-format change (decoder untouched, amp-last invariant held). Belt-and-suspenders: `spt send`/`ring` also trim stdin (parity with `notify`).",
2026-06-16T04:57:29.7020940Z       "requiredStages": [
2026-06-16T04:57:29.7021050Z         "impl",
2026-06-16T04:57:29.7021155Z         "unit"
2026-06-16T04:57:29.7021254Z       ],
2026-06-16T04:57:29.7021365Z       "stages": {
2026-06-16T04:57:29.7021470Z         "doc": {
2026-06-16T04:57:29.7021596Z           "complete": false,
2026-06-16T04:57:29.7021697Z           "evidence": []
2026-06-16T04:57:29.7021801Z         },
2026-06-16T04:57:29.7021909Z         "impl": {
2026-06-16T04:57:29.7022028Z           "complete": true,
2026-06-16T04:57:29.7022138Z           "evidence": [
2026-06-16T04:57:29.7022237Z             {
2026-06-16T04:57:29.7022391Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7022496Z               "line": 31
2026-06-16T04:57:29.7022605Z             }
2026-06-16T04:57:29.7022711Z           ]
2026-06-16T04:57:29.7022811Z         },
2026-06-16T04:57:29.7022910Z         "int": {
2026-06-16T04:57:29.7023016Z           "complete": false,
2026-06-16T04:57:29.7023144Z           "evidence": []
2026-06-16T04:57:29.7023249Z         },
2026-06-16T04:57:29.7023364Z         "unit": {
2026-06-16T04:57:29.7023472Z           "complete": true,
2026-06-16T04:57:29.7023578Z           "evidence": [
2026-06-16T04:57:29.7023689Z             {
2026-06-16T04:57:29.7023835Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7023941Z               "line": 181
2026-06-16T04:57:29.7024045Z             }
2026-06-16T04:57:29.7024154Z           ]
2026-06-16T04:57:29.7024258Z         }
2026-06-16T04:57:29.7024363Z       }
2026-06-16T04:57:29.7024456Z     },
2026-06-16T04:57:29.7024556Z     {
2026-06-16T04:57:29.7024701Z       "id": "REQ-HAZARD-ENVELOPE-DECODE-ORDER",
2026-06-16T04:57:29.7024871Z       "title": "Envelope decode order, ampersand decoded last (4.1)",
2026-06-16T04:57:29.7024996Z       "requiredStages": [
2026-06-16T04:57:29.7025109Z         "impl",
2026-06-16T04:57:29.7025215Z         "unit"
2026-06-16T04:57:29.7025324Z       ],
2026-06-16T04:57:29.7025429Z       "stages": {
2026-06-16T04:57:29.7025535Z         "doc": {
2026-06-16T04:57:29.7025644Z           "complete": false,
2026-06-16T04:57:29.7025758Z           "evidence": []
2026-06-16T04:57:29.7025868Z         },
2026-06-16T04:57:29.7025973Z         "impl": {
2026-06-16T04:57:29.7026092Z           "complete": true,
2026-06-16T04:57:29.7026203Z           "evidence": [
2026-06-16T04:57:29.7026311Z             {
2026-06-16T04:57:29.7026454Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7026579Z               "line": 49
2026-06-16T04:57:29.7026683Z             },
2026-06-16T04:57:29.7026789Z             {
2026-06-16T04:57:29.7026927Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7027035Z               "line": 81
2026-06-16T04:57:29.7027139Z             }
2026-06-16T04:57:29.7027246Z           ]
2026-06-16T04:57:29.7027359Z         },
2026-06-16T04:57:29.7027459Z         "int": {
2026-06-16T04:57:29.7027693Z           "complete": false,
2026-06-16T04:57:29.7027903Z           "evidence": []
2026-06-16T04:57:29.7027998Z         },
2026-06-16T04:57:29.7028103Z         "unit": {
2026-06-16T04:57:29.7028223Z           "complete": true,
2026-06-16T04:57:29.7028332Z           "evidence": [
2026-06-16T04:57:29.7028428Z             {
2026-06-16T04:57:29.7028575Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7028689Z               "line": 156
2026-06-16T04:57:29.7028786Z             },
2026-06-16T04:57:29.7028894Z             {
2026-06-16T04:57:29.7029115Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7029214Z               "line": 173
2026-06-16T04:57:29.7029323Z             },
2026-06-16T04:57:29.7029423Z             {
2026-06-16T04:57:29.7029569Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7029678Z               "line": 196
2026-06-16T04:57:29.7029789Z             }
2026-06-16T04:57:29.7029888Z           ]
2026-06-16T04:57:29.7029993Z         }
2026-06-16T04:57:29.7030118Z       }
2026-06-16T04:57:29.7030217Z     },
2026-06-16T04:57:29.7030321Z     {
2026-06-16T04:57:29.7030470Z       "id": "REQ-HAZARD-ENVELOPE-PARSER-SAFE",
2026-06-16T04:57:29.7030671Z       "title": "Two-slice envelope parser is panic-free and tolerant (4.2)",
2026-06-16T04:57:29.7030794Z       "requiredStages": [
2026-06-16T04:57:29.7030898Z         "impl",
2026-06-16T04:57:29.7031009Z         "unit"
2026-06-16T04:57:29.7031104Z       ],
2026-06-16T04:57:29.7031222Z       "stages": {
2026-06-16T04:57:29.7031315Z         "doc": {
2026-06-16T04:57:29.7031442Z           "complete": false,
2026-06-16T04:57:29.7031547Z           "evidence": []
2026-06-16T04:57:29.7031653Z         },
2026-06-16T04:57:29.7031762Z         "impl": {
2026-06-16T04:57:29.7031866Z           "complete": true,
2026-06-16T04:57:29.7031987Z           "evidence": [
2026-06-16T04:57:29.7032091Z             {
2026-06-16T04:57:29.7032237Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7032352Z               "line": 120
2026-06-16T04:57:29.7032464Z             }
2026-06-16T04:57:29.7032569Z           ]
2026-06-16T04:57:29.7032665Z         },
2026-06-16T04:57:29.7032793Z         "int": {
2026-06-16T04:57:29.7032918Z           "complete": false,
2026-06-16T04:57:29.7033022Z           "evidence": []
2026-06-16T04:57:29.7033126Z         },
2026-06-16T04:57:29.7033237Z         "unit": {
2026-06-16T04:57:29.7033346Z           "complete": true,
2026-06-16T04:57:29.7033455Z           "evidence": [
2026-06-16T04:57:29.7033566Z             {
2026-06-16T04:57:29.7033704Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7033814Z               "line": 212
2026-06-16T04:57:29.7033915Z             },
2026-06-16T04:57:29.7034018Z             {
2026-06-16T04:57:29.7034162Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7034258Z               "line": 221
2026-06-16T04:57:29.7034366Z             },
2026-06-16T04:57:29.7034472Z             {
2026-06-16T04:57:29.7034629Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7034733Z               "line": 229
2026-06-16T04:57:29.7034837Z             },
2026-06-16T04:57:29.7034942Z             {
2026-06-16T04:57:29.7035078Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7035188Z               "line": 239
2026-06-16T04:57:29.7035294Z             },
2026-06-16T04:57:29.7035398Z             {
2026-06-16T04:57:29.7035546Z               "path": "crates/spt-proto/src/envelope.rs",
2026-06-16T04:57:29.7035660Z               "line": 249
2026-06-16T04:57:29.7035760Z             }
2026-06-16T04:57:29.7035866Z           ]
2026-06-16T04:57:29.7035979Z         }
2026-06-16T04:57:29.7036075Z       }
2026-06-16T04:57:29.7036185Z     },
2026-06-16T04:57:29.7036294Z     {
2026-06-16T04:57:29.7036433Z       "id": "REQ-HAZARD-EPHEMERAL-CLEANUP",
2026-06-16T04:57:29.7036623Z       "title": "Ephemeral perch cleanup on every ring exit path (3.1)",
2026-06-16T04:57:29.7036857Z       "requiredStages": [
2026-06-16T04:57:29.7037054Z         "impl",
2026-06-16T04:57:29.7037158Z         "unit"
2026-06-16T04:57:29.7037272Z       ],
2026-06-16T04:57:29.7037378Z       "stages": {
2026-06-16T04:57:29.7037487Z         "doc": {
2026-06-16T04:57:29.7037605Z           "complete": false,
2026-06-16T04:57:29.7037719Z           "evidence": []
2026-06-16T04:57:29.7037830Z         },
2026-06-16T04:57:29.7037934Z         "impl": {
2026-06-16T04:57:29.7038058Z           "complete": true,
2026-06-16T04:57:29.7038173Z           "evidence": [
2026-06-16T04:57:29.7038277Z             {
2026-06-16T04:57:29.7038416Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7038530Z               "line": 14
2026-06-16T04:57:29.7038630Z             },
2026-06-16T04:57:29.7038735Z             {
2026-06-16T04:57:29.7038873Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7039055Z               "line": 63
2026-06-16T04:57:29.7039154Z             }
2026-06-16T04:57:29.7039274Z           ]
2026-06-16T04:57:29.7039374Z         },
2026-06-16T04:57:29.7039483Z         "int": {
2026-06-16T04:57:29.7039588Z           "complete": false,
2026-06-16T04:57:29.7039708Z           "evidence": []
2026-06-16T04:57:29.7039817Z         },
2026-06-16T04:57:29.7039916Z         "unit": {
2026-06-16T04:57:29.7040040Z           "complete": true,
2026-06-16T04:57:29.7040138Z           "evidence": [
2026-06-16T04:57:29.7040247Z             {
2026-06-16T04:57:29.7040377Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7040495Z               "line": 164
2026-06-16T04:57:29.7040591Z             },
2026-06-16T04:57:29.7040697Z             {
2026-06-16T04:57:29.7040838Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7040944Z               "line": 198
2026-06-16T04:57:29.7041054Z             },
2026-06-16T04:57:29.7041158Z             {
2026-06-16T04:57:29.7041293Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7041416Z               "line": 220
2026-06-16T04:57:29.7041521Z             }
2026-06-16T04:57:29.7041626Z           ]
2026-06-16T04:57:29.7041731Z         }
2026-06-16T04:57:29.7041836Z       }
2026-06-16T04:57:29.7041937Z     },
2026-06-16T04:57:29.7042045Z     {
2026-06-16T04:57:29.7042185Z       "id": "REQ-HAZARD-EPOCH-RESET",
2026-06-16T04:57:29.7043559Z       "title": "Advertisement-epoch reset strands a node: peers' higher last-seen epoch drops the reset node's fresh advertisements as Stale until the counter outruns history. Common case (full reinstall/re-pair) is mitigated by REQ-SUBNET-7's ceremony eviction (peer-side epoch memory dies with the deleted row — acceptance-verified); the residual narrow slice (epoch file lost, identity kept) is documented, guard deferred to a field hit (4.11)",
2026-06-16T04:57:29.7043686Z       "requiredStages": [],
2026-06-16T04:57:29.7043788Z       "stages": {
2026-06-16T04:57:29.7043893Z         "doc": {
2026-06-16T04:57:29.7044015Z           "complete": true,
2026-06-16T04:57:29.7044122Z           "evidence": [
2026-06-16T04:57:29.7044235Z             {
2026-06-16T04:57:29.7044369Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7044475Z               "line": 165
2026-06-16T04:57:29.7044583Z             }
2026-06-16T04:57:29.7044693Z           ]
2026-06-16T04:57:29.7044799Z         },
2026-06-16T04:57:29.7044902Z         "impl": {
2026-06-16T04:57:29.7045013Z           "complete": false,
2026-06-16T04:57:29.7045124Z           "evidence": []
2026-06-16T04:57:29.7045231Z         },
2026-06-16T04:57:29.7045335Z         "int": {
2026-06-16T04:57:29.7045455Z           "complete": false,
2026-06-16T04:57:29.7045558Z           "evidence": []
2026-06-16T04:57:29.7045667Z         },
2026-06-16T04:57:29.7045773Z         "unit": {
2026-06-16T04:57:29.7045887Z           "complete": false,
2026-06-16T04:57:29.7046001Z           "evidence": []
2026-06-16T04:57:29.7046107Z         }
2026-06-16T04:57:29.7046220Z       }
2026-06-16T04:57:29.7046320Z     },
2026-06-16T04:57:29.7046540Z     {
2026-06-16T04:57:29.7046792Z       "id": "REQ-HAZARD-EVENTPART-REASSEMBLY",
2026-06-16T04:57:29.7047037Z       "title": "EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently",
2026-06-16T04:57:29.7047156Z       "requiredStages": [
2026-06-16T04:57:29.7047260Z         "impl",
2026-06-16T04:57:29.7047371Z         "unit"
2026-06-16T04:57:29.7047469Z       ],
2026-06-16T04:57:29.7047575Z       "stages": {
2026-06-16T04:57:29.7047676Z         "doc": {
2026-06-16T04:57:29.7047793Z           "complete": false,
2026-06-16T04:57:29.7047914Z           "evidence": []
2026-06-16T04:57:29.7048015Z         },
2026-06-16T04:57:29.7048127Z         "impl": {
2026-06-16T04:57:29.7048241Z           "complete": true,
2026-06-16T04:57:29.7048351Z           "evidence": [
2026-06-16T04:57:29.7048446Z             {
2026-06-16T04:57:29.7048599Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7048719Z               "line": 76
2026-06-16T04:57:29.7048832Z             },
2026-06-16T04:57:29.7048938Z             {
2026-06-16T04:57:29.7049170Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7049286Z               "line": 167
2026-06-16T04:57:29.7049390Z             },
2026-06-16T04:57:29.7049499Z             {
2026-06-16T04:57:29.7049648Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7049762Z               "line": 233
2026-06-16T04:57:29.7049873Z             },
2026-06-16T04:57:29.7049972Z             {
2026-06-16T04:57:29.7050120Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7050226Z               "line": 272
2026-06-16T04:57:29.7050329Z             }
2026-06-16T04:57:29.7050433Z           ]
2026-06-16T04:57:29.7050539Z         },
2026-06-16T04:57:29.7050646Z         "int": {
2026-06-16T04:57:29.7050750Z           "complete": false,
2026-06-16T04:57:29.7050870Z           "evidence": []
2026-06-16T04:57:29.7050975Z         },
2026-06-16T04:57:29.7051084Z         "unit": {
2026-06-16T04:57:29.7051204Z           "complete": true,
2026-06-16T04:57:29.7051318Z           "evidence": [
2026-06-16T04:57:29.7051422Z             {
2026-06-16T04:57:29.7051562Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7051675Z               "line": 321
2026-06-16T04:57:29.7051767Z             },
2026-06-16T04:57:29.7051876Z             {
2026-06-16T04:57:29.7052019Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7052125Z               "line": 329
2026-06-16T04:57:29.7052234Z             },
2026-06-16T04:57:29.7052339Z             {
2026-06-16T04:57:29.7052478Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7052591Z               "line": 356
2026-06-16T04:57:29.7052701Z             },
2026-06-16T04:57:29.7052816Z             {
2026-06-16T04:57:29.7052949Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7053064Z               "line": 395
2026-06-16T04:57:29.7053173Z             },
2026-06-16T04:57:29.7053281Z             {
2026-06-16T04:57:29.7053411Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7053532Z               "line": 406
2026-06-16T04:57:29.7053636Z             },
2026-06-16T04:57:29.7053742Z             {
2026-06-16T04:57:29.7053885Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7053990Z               "line": 418
2026-06-16T04:57:29.7054095Z             },
2026-06-16T04:57:29.7054200Z             {
2026-06-16T04:57:29.7054338Z               "path": "crates/spt-proto/src/chunk.rs",
2026-06-16T04:57:29.7054462Z               "line": 442
2026-06-16T04:57:29.7054566Z             }
2026-06-16T04:57:29.7054662Z           ]
2026-06-16T04:57:29.7054767Z         }
2026-06-16T04:57:29.7054877Z       }
2026-06-16T04:57:29.7054977Z     },
2026-06-16T04:57:29.7055082Z     {
2026-06-16T04:57:29.7055206Z       "id": "REQ-HAZARD-GEN-START-NOW",
2026-06-16T04:57:29.7055383Z       "title": "gen_start = now() on cold-start and handoff (2.4)",
2026-06-16T04:57:29.7055612Z       "requiredStages": [
2026-06-16T04:57:29.7055834Z         "impl",
2026-06-16T04:57:29.7055953Z         "int"
2026-06-16T04:57:29.7056048Z       ],
2026-06-16T04:57:29.7056151Z       "stages": {
2026-06-16T04:57:29.7056261Z         "doc": {
2026-06-16T04:57:29.7056376Z           "complete": false,
2026-06-16T04:57:29.7056494Z           "evidence": []
2026-06-16T04:57:29.7056595Z         },
2026-06-16T04:57:29.7056704Z         "impl": {
2026-06-16T04:57:29.7056818Z           "complete": true,
2026-06-16T04:57:29.7056924Z           "evidence": [
2026-06-16T04:57:29.7057033Z             {
2026-06-16T04:57:29.7057171Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7057277Z               "line": 22
2026-06-16T04:57:29.7057367Z             }
2026-06-16T04:57:29.7057476Z           ]
2026-06-16T04:57:29.7057578Z         },
2026-06-16T04:57:29.7057686Z         "int": {
2026-06-16T04:57:29.7057791Z           "complete": true,
2026-06-16T04:57:29.7057897Z           "evidence": [
2026-06-16T04:57:29.7058010Z             {
2026-06-16T04:57:29.7058159Z               "path": "crates/spt-daemon/tests/handoff.rs",
2026-06-16T04:57:29.7058265Z               "line": 18
2026-06-16T04:57:29.7058368Z             }
2026-06-16T04:57:29.7058479Z           ]
2026-06-16T04:57:29.7058580Z         },
2026-06-16T04:57:29.7058687Z         "unit": {
2026-06-16T04:57:29.7058806Z           "complete": false,
2026-06-16T04:57:29.7058907Z           "evidence": []
2026-06-16T04:57:29.7059096Z         }
2026-06-16T04:57:29.7059203Z       }
2026-06-16T04:57:29.7059302Z     },
2026-06-16T04:57:29.7059407Z     {
2026-06-16T04:57:29.7059546Z       "id": "REQ-HAZARD-GRACE-BEFORE-SIGNOFF",
2026-06-16T04:57:29.7059760Z       "title": "Grace-period wait completes before composing INIT_SIGNOFF (1.1)",
2026-06-16T04:57:29.7059870Z       "requiredStages": [
2026-06-16T04:57:29.7059974Z         "impl",
2026-06-16T04:57:29.7060079Z         "unit"
2026-06-16T04:57:29.7060185Z       ],
2026-06-16T04:57:29.7060298Z       "stages": {
2026-06-16T04:57:29.7060409Z         "doc": {
2026-06-16T04:57:29.7060532Z           "complete": false,
2026-06-16T04:57:29.7060637Z           "evidence": []
2026-06-16T04:57:29.7060748Z         },
2026-06-16T04:57:29.7060847Z         "impl": {
2026-06-16T04:57:29.7060970Z           "complete": true,
2026-06-16T04:57:29.7061079Z           "evidence": [
2026-06-16T04:57:29.7061183Z             {
2026-06-16T04:57:29.7061329Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7061435Z               "line": 415
2026-06-16T04:57:29.7061544Z             },
2026-06-16T04:57:29.7061648Z             {
2026-06-16T04:57:29.7061798Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.7061916Z               "line": 27
2026-06-16T04:57:29.7062012Z             }
2026-06-16T04:57:29.7062117Z           ]
2026-06-16T04:57:29.7062221Z         },
2026-06-16T04:57:29.7062327Z         "int": {
2026-06-16T04:57:29.7062431Z           "complete": false,
2026-06-16T04:57:29.7062560Z           "evidence": []
2026-06-16T04:57:29.7062661Z         },
2026-06-16T04:57:29.7062765Z         "unit": {
2026-06-16T04:57:29.7062903Z           "complete": true,
2026-06-16T04:57:29.7063019Z           "evidence": [
2026-06-16T04:57:29.7063118Z             {
2026-06-16T04:57:29.7063266Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7063376Z               "line": 940
2026-06-16T04:57:29.7063480Z             },
2026-06-16T04:57:29.7063576Z             {
2026-06-16T04:57:29.7063724Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.7063832Z               "line": 181
2026-06-16T04:57:29.7063937Z             }
2026-06-16T04:57:29.7064041Z           ]
2026-06-16T04:57:29.7064145Z         }
2026-06-16T04:57:29.7064254Z       }
2026-06-16T04:57:29.7064360Z     },
2026-06-16T04:57:29.7064464Z     {
2026-06-16T04:57:29.7064608Z       "id": "REQ-HAZARD-HANDOFF-ARGV-COMPAT",
2026-06-16T04:57:29.7064807Z       "title": "Broker/brain IPC + handoff argv version-tolerant (2.3)",
2026-06-16T04:57:29.7065107Z       "requiredStages": [
2026-06-16T04:57:29.7065227Z         "impl",
2026-06-16T04:57:29.7065332Z         "unit"
2026-06-16T04:57:29.7065432Z       ],
2026-06-16T04:57:29.7065542Z       "stages": {
2026-06-16T04:57:29.7065647Z         "doc": {
2026-06-16T04:57:29.7065766Z           "complete": false,
2026-06-16T04:57:29.7065872Z           "evidence": []
2026-06-16T04:57:29.7065981Z         },
2026-06-16T04:57:29.7066090Z         "impl": {
2026-06-16T04:57:29.7066201Z           "complete": true,
2026-06-16T04:57:29.7066310Z           "evidence": [
2026-06-16T04:57:29.7066399Z             {
2026-06-16T04:57:29.7066561Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.7066673Z               "line": 73
2026-06-16T04:57:29.7066782Z             },
2026-06-16T04:57:29.7066931Z             {
2026-06-16T04:57:29.7067078Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.7067189Z               "line": 955
2026-06-16T04:57:29.7067308Z             },
2026-06-16T04:57:29.7067417Z             {
2026-06-16T04:57:29.7067551Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7067665Z               "line": 20
2026-06-16T04:57:29.7067770Z             },
2026-06-16T04:57:29.7067866Z             {
2026-06-16T04:57:29.7068017Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7068128Z               "line": 100
2026-06-16T04:57:29.7068233Z             },
2026-06-16T04:57:29.7068337Z             {
2026-06-16T04:57:29.7068467Z               "path": "crates/spt-daemon/src/msg.rs",
2026-06-16T04:57:29.7068580Z               "line": 555
2026-06-16T04:57:29.7068680Z             },
2026-06-16T04:57:29.7068791Z             {
2026-06-16T04:57:29.7068928Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T04:57:29.7069135Z               "line": 68
2026-06-16T04:57:29.7069242Z             },
2026-06-16T04:57:29.7069342Z             {
2026-06-16T04:57:29.7069496Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T04:57:29.7069614Z               "line": 80
2026-06-16T04:57:29.7069719Z             }
2026-06-16T04:57:29.7069824Z           ]
2026-06-16T04:57:29.7069928Z         },
2026-06-16T04:57:29.7070049Z         "int": {
2026-06-16T04:57:29.7070158Z           "complete": true,
2026-06-16T04:57:29.7070272Z           "evidence": [
2026-06-16T04:57:29.7070378Z             {
2026-06-16T04:57:29.7070525Z               "path": "crates/spt/tests/n1_pairing.rs",
2026-06-16T04:57:29.7070629Z               "line": 44
2026-06-16T04:57:29.7070731Z             }
2026-06-16T04:57:29.7070830Z           ]
2026-06-16T04:57:29.7070935Z         },
2026-06-16T04:57:29.7071041Z         "unit": {
2026-06-16T04:57:29.7071149Z           "complete": true,
2026-06-16T04:57:29.7071255Z           "evidence": [
2026-06-16T04:57:29.7071361Z             {
2026-06-16T04:57:29.7071506Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.7071630Z               "line": 1155
2026-06-16T04:57:29.7071739Z             },
2026-06-16T04:57:29.7071852Z             {
2026-06-16T04:57:29.7072000Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.7072105Z               "line": 1171
2026-06-16T04:57:29.7072214Z             },
2026-06-16T04:57:29.7072320Z             {
2026-06-16T04:57:29.7072466Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7072577Z               "line": 1488
2026-06-16T04:57:29.7072682Z             },
2026-06-16T04:57:29.7072791Z             {
2026-06-16T04:57:29.7072940Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7073049Z               "line": 152
2026-06-16T04:57:29.7073153Z             },
2026-06-16T04:57:29.7073264Z             {
2026-06-16T04:57:29.7073402Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7073511Z               "line": 175
2026-06-16T04:57:29.7073608Z             },
2026-06-16T04:57:29.7073826Z             {
2026-06-16T04:57:29.7074045Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7074156Z               "line": 186
2026-06-16T04:57:29.7074261Z             },
2026-06-16T04:57:29.7074359Z             {
2026-06-16T04:57:29.7074506Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7074615Z               "line": 202
2026-06-16T04:57:29.7074728Z             },
2026-06-16T04:57:29.7074828Z             {
2026-06-16T04:57:29.7074967Z               "path": "crates/spt-daemon/src/frame.rs",
2026-06-16T04:57:29.7075085Z               "line": 216
2026-06-16T04:57:29.7075173Z             },
2026-06-16T04:57:29.7075282Z             {
2026-06-16T04:57:29.7075429Z               "path": "crates/spt-daemon/src/transport.rs",
2026-06-16T04:57:29.7075554Z               "line": 137
2026-06-16T04:57:29.7075658Z             },
2026-06-16T04:57:29.7075764Z             {
2026-06-16T04:57:29.7075901Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7076021Z               "line": 6855
2026-06-16T04:57:29.7076137Z             },
2026-06-16T04:57:29.7076240Z             {
2026-06-16T04:57:29.7076383Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-16T04:57:29.7076498Z               "line": 30
2026-06-16T04:57:29.7076607Z             },
2026-06-16T04:57:29.7076708Z             {
2026-06-16T04:57:29.7076846Z               "path": "crates/spt/tests/n1_compat.rs",
2026-06-16T04:57:29.7076959Z               "line": 73
2026-06-16T04:57:29.7077064Z             }
2026-06-16T04:57:29.7077173Z           ]
2026-06-16T04:57:29.7077267Z         }
2026-06-16T04:57:29.7077376Z       }
2026-06-16T04:57:29.7077482Z     },
2026-06-16T04:57:29.7077586Z     {
2026-06-16T04:57:29.7077720Z       "id": "REQ-HAZARD-ID-CHARSET",
2026-06-16T04:57:29.7078001Z       "title": "Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)",
2026-06-16T04:57:29.7078125Z       "requiredStages": [
2026-06-16T04:57:29.7078230Z         "impl",
2026-06-16T04:57:29.7078330Z         "unit"
2026-06-16T04:57:29.7078450Z       ],
2026-06-16T04:57:29.7078545Z       "stages": {
2026-06-16T04:57:29.7078654Z         "doc": {
2026-06-16T04:57:29.7078774Z           "complete": true,
2026-06-16T04:57:29.7078883Z           "evidence": [
2026-06-16T04:57:29.7079056Z             {
2026-06-16T04:57:29.7079189Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7079309Z               "line": 133
2026-06-16T04:57:29.7079417Z             }
2026-06-16T04:57:29.7079522Z           ]
2026-06-16T04:57:29.7079614Z         },
2026-06-16T04:57:29.7079723Z         "impl": {
2026-06-16T04:57:29.7079831Z           "complete": true,
2026-06-16T04:57:29.7079945Z           "evidence": [
2026-06-16T04:57:29.7080051Z             {
2026-06-16T04:57:29.7080193Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7080303Z               "line": 65
2026-06-16T04:57:29.7080404Z             },
2026-06-16T04:57:29.7080512Z             {
2026-06-16T04:57:29.7080642Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7080752Z               "line": 17
2026-06-16T04:57:29.7080861Z             },
2026-06-16T04:57:29.7080967Z             {
2026-06-16T04:57:29.7081123Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.7081229Z               "line": 146
2026-06-16T04:57:29.7081343Z             },
2026-06-16T04:57:29.7081452Z             {
2026-06-16T04:57:29.7081596Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7081709Z               "line": 241
2026-06-16T04:57:29.7081815Z             },
2026-06-16T04:57:29.7081921Z             {
2026-06-16T04:57:29.7082057Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7082171Z               "line": 340
2026-06-16T04:57:29.7082271Z             },
2026-06-16T04:57:29.7082374Z             {
2026-06-16T04:57:29.7082508Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.7082618Z               "line": 32
2026-06-16T04:57:29.7082822Z             },
2026-06-16T04:57:29.7083036Z             {
2026-06-16T04:57:29.7083166Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7083295Z               "line": 1208
2026-06-16T04:57:29.7083394Z             },
2026-06-16T04:57:29.7083505Z             {
2026-06-16T04:57:29.7083666Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7083786Z               "line": 5343
2026-06-16T04:57:29.7083890Z             },
2026-06-16T04:57:29.7083999Z             {
2026-06-16T04:57:29.7084125Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7084228Z               "line": 5625
2026-06-16T04:57:29.7084333Z             }
2026-06-16T04:57:29.7084435Z           ]
2026-06-16T04:57:29.7084543Z         },
2026-06-16T04:57:29.7084648Z         "int": {
2026-06-16T04:57:29.7084774Z           "complete": false,
2026-06-16T04:57:29.7084881Z           "evidence": []
2026-06-16T04:57:29.7084981Z         },
2026-06-16T04:57:29.7085091Z         "unit": {
2026-06-16T04:57:29.7085203Z           "complete": true,
2026-06-16T04:57:29.7085331Z           "evidence": [
2026-06-16T04:57:29.7085437Z             {
2026-06-16T04:57:29.7085584Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7085689Z               "line": 94
2026-06-16T04:57:29.7085790Z             },
2026-06-16T04:57:29.7085898Z             {
2026-06-16T04:57:29.7086033Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7086152Z               "line": 111
2026-06-16T04:57:29.7086256Z             },
2026-06-16T04:57:29.7086367Z             {
2026-06-16T04:57:29.7086505Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7086614Z               "line": 124
2026-06-16T04:57:29.7086725Z             },
2026-06-16T04:57:29.7086828Z             {
2026-06-16T04:57:29.7086968Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7087077Z               "line": 134
2026-06-16T04:57:29.7087191Z             },
2026-06-16T04:57:29.7087292Z             {
2026-06-16T04:57:29.7087416Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7087529Z               "line": 144
2026-06-16T04:57:29.7087624Z             },
2026-06-16T04:57:29.7087728Z             {
2026-06-16T04:57:29.7096403Z               "path": "crates/spt-proto/src/id.rs",
2026-06-16T04:57:29.7096569Z               "line": 156
2026-06-16T04:57:29.7096683Z             },
2026-06-16T04:57:29.7096792Z             {
2026-06-16T04:57:29.7096961Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7097079Z               "line": 746
2026-06-16T04:57:29.7097183Z             },
2026-06-16T04:57:29.7097290Z             {
2026-06-16T04:57:29.7097446Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.7097557Z               "line": 309
2026-06-16T04:57:29.7097665Z             }
2026-06-16T04:57:29.7097775Z           ]
2026-06-16T04:57:29.7097876Z         }
2026-06-16T04:57:29.7097985Z       }
2026-06-16T04:57:29.7098094Z     },
2026-06-16T04:57:29.7098198Z     {
2026-06-16T04:57:29.7098344Z       "id": "REQ-HAZARD-INBOX-NO-DOUBLE",
2026-06-16T04:57:29.7098511Z       "title": "No double-delivery via legacy inbox (4.5)",
2026-06-16T04:57:29.7098631Z       "requiredStages": [
2026-06-16T04:57:29.7098735Z         "impl",
2026-06-16T04:57:29.7098840Z         "unit"
2026-06-16T04:57:29.7099030Z       ],
2026-06-16T04:57:29.7099136Z       "stages": {
2026-06-16T04:57:29.7099255Z         "doc": {
2026-06-16T04:57:29.7099364Z           "complete": false,
2026-06-16T04:57:29.7099470Z           "evidence": []
2026-06-16T04:57:29.7099579Z         },
2026-06-16T04:57:29.7099679Z         "impl": {
2026-06-16T04:57:29.7099799Z           "complete": true,
2026-06-16T04:57:29.7099894Z           "evidence": [
2026-06-16T04:57:29.7100003Z             {
2026-06-16T04:57:29.7100157Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7100270Z               "line": 128
2026-06-16T04:57:29.7100366Z             }
2026-06-16T04:57:29.7100633Z           ]
2026-06-16T04:57:29.7100843Z         },
2026-06-16T04:57:29.7100956Z         "int": {
2026-06-16T04:57:29.7101075Z           "complete": false,
2026-06-16T04:57:29.7101191Z           "evidence": []
2026-06-16T04:57:29.7101290Z         },
2026-06-16T04:57:29.7101395Z         "unit": {
2026-06-16T04:57:29.7101500Z           "complete": true,
2026-06-16T04:57:29.7101618Z           "evidence": [
2026-06-16T04:57:29.7101720Z             {
2026-06-16T04:57:29.7101863Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7101966Z               "line": 205
2026-06-16T04:57:29.7102072Z             }
2026-06-16T04:57:29.7102172Z           ]
2026-06-16T04:57:29.7102271Z         }
2026-06-16T04:57:29.7102387Z       }
2026-06-16T04:57:29.7102477Z     },
2026-06-16T04:57:29.7102577Z     {
2026-06-16T04:57:29.7102707Z       "id": "REQ-HAZARD-INFO-JSON-TORN-READ",
2026-06-16T04:57:29.7102887Z       "title": "State-file reads tolerate concurrent writes (1.2)",
2026-06-16T04:57:29.7103022Z       "requiredStages": [
2026-06-16T04:57:29.7103140Z         "impl",
2026-06-16T04:57:29.7103244Z         "unit"
2026-06-16T04:57:29.7103348Z       ],
2026-06-16T04:57:29.7103466Z       "stages": {
2026-06-16T04:57:29.7103565Z         "doc": {
2026-06-16T04:57:29.7103680Z           "complete": false,
2026-06-16T04:57:29.7103800Z           "evidence": []
2026-06-16T04:57:29.7103894Z         },
2026-06-16T04:57:29.7104005Z         "impl": {
2026-06-16T04:57:29.7104109Z           "complete": true,
2026-06-16T04:57:29.7104223Z           "evidence": [
2026-06-16T04:57:29.7104329Z             {
2026-06-16T04:57:29.7104476Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7104592Z               "line": 263
2026-06-16T04:57:29.7104696Z             },
2026-06-16T04:57:29.7104800Z             {
2026-06-16T04:57:29.7104925Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7105039Z               "line": 274
2026-06-16T04:57:29.7105139Z             },
2026-06-16T04:57:29.7105250Z             {
2026-06-16T04:57:29.7105386Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7105492Z               "line": 292
2026-06-16T04:57:29.7105593Z             }
2026-06-16T04:57:29.7105697Z           ]
2026-06-16T04:57:29.7105807Z         },
2026-06-16T04:57:29.7105913Z         "int": {
2026-06-16T04:57:29.7106030Z           "complete": false,
2026-06-16T04:57:29.7106153Z           "evidence": []
2026-06-16T04:57:29.7106259Z         },
2026-06-16T04:57:29.7106366Z         "unit": {
2026-06-16T04:57:29.7106475Z           "complete": true,
2026-06-16T04:57:29.7106591Z           "evidence": [
2026-06-16T04:57:29.7106695Z             {
2026-06-16T04:57:29.7106829Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7106943Z               "line": 316
2026-06-16T04:57:29.7107047Z             },
2026-06-16T04:57:29.7107158Z             {
2026-06-16T04:57:29.7107297Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7107424Z               "line": 337
2026-06-16T04:57:29.7107535Z             },
2026-06-16T04:57:29.7107635Z             {
2026-06-16T04:57:29.7107773Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7107869Z               "line": 617
2026-06-16T04:57:29.7107973Z             },
2026-06-16T04:57:29.7108078Z             {
2026-06-16T04:57:29.7108221Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7108335Z               "line": 628
2026-06-16T04:57:29.7108441Z             },
2026-06-16T04:57:29.7108559Z             {
2026-06-16T04:57:29.7108691Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7108806Z               "line": 641
2026-06-16T04:57:29.7108913Z             }
2026-06-16T04:57:29.7109085Z           ]
2026-06-16T04:57:29.7109187Z         }
2026-06-16T04:57:29.7109290Z       }
2026-06-16T04:57:29.7109410Z     },
2026-06-16T04:57:29.7109510Z     {
2026-06-16T04:57:29.7109648Z       "id": "REQ-HAZARD-INSTANT-UNDERFLOW",
2026-06-16T04:57:29.7110521Z       "title": "Scheduling never subtracts a Duration from Instant::now() (underflow-panics on a host booted more recently than the offset); 'due now / never run' is Option<Instant>=None gated on forward duration_since only (5.9)",
2026-06-16T04:57:29.7110759Z       "requiredStages": [
2026-06-16T04:57:29.7110864Z         "impl",
2026-06-16T04:57:29.7110970Z         "unit"
2026-06-16T04:57:29.7111065Z       ],
2026-06-16T04:57:29.7111174Z       "stages": {
2026-06-16T04:57:29.7111280Z         "doc": {
2026-06-16T04:57:29.7111389Z           "complete": false,
2026-06-16T04:57:29.7111497Z           "evidence": []
2026-06-16T04:57:29.7111602Z         },
2026-06-16T04:57:29.7111703Z         "impl": {
2026-06-16T04:57:29.7111817Z           "complete": true,
2026-06-16T04:57:29.7111926Z           "evidence": [
2026-06-16T04:57:29.7112027Z             {
2026-06-16T04:57:29.7112169Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7112280Z               "line": 759
2026-06-16T04:57:29.7112389Z             }
2026-06-16T04:57:29.7112498Z           ]
2026-06-16T04:57:29.7112604Z         },
2026-06-16T04:57:29.7112709Z         "int": {
2026-06-16T04:57:29.7112827Z           "complete": false,
2026-06-16T04:57:29.7112938Z           "evidence": []
2026-06-16T04:57:29.7113056Z         },
2026-06-16T04:57:29.7113161Z         "unit": {
2026-06-16T04:57:29.7113272Z           "complete": true,
2026-06-16T04:57:29.7113390Z           "evidence": [
2026-06-16T04:57:29.7113490Z             {
2026-06-16T04:57:29.7113638Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7113756Z               "line": 873
2026-06-16T04:57:29.7113856Z             }
2026-06-16T04:57:29.7113965Z           ]
2026-06-16T04:57:29.7114059Z         }
2026-06-16T04:57:29.7114164Z       }
2026-06-16T04:57:29.7114270Z     },
2026-06-16T04:57:29.7114374Z     {
2026-06-16T04:57:29.7114517Z       "id": "REQ-HAZARD-LOCAL-API-AUTH",
2026-06-16T04:57:29.7114745Z       "title": "Every local `api` mutation authenticated to an endpoint/session (codex #13)",
2026-06-16T04:57:29.7114880Z       "requiredStages": [
2026-06-16T04:57:29.7114984Z         "impl",
2026-06-16T04:57:29.7115093Z         "unit"
2026-06-16T04:57:29.7115194Z       ],
2026-06-16T04:57:29.7115304Z       "stages": {
2026-06-16T04:57:29.7115413Z         "doc": {
2026-06-16T04:57:29.7115519Z           "complete": false,
2026-06-16T04:57:29.7115628Z           "evidence": []
2026-06-16T04:57:29.7115732Z         },
2026-06-16T04:57:29.7115838Z         "impl": {
2026-06-16T04:57:29.7115947Z           "complete": true,
2026-06-16T04:57:29.7116062Z           "evidence": [
2026-06-16T04:57:29.7116172Z             {
2026-06-16T04:57:29.7116305Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7116425Z               "line": 14
2026-06-16T04:57:29.7116530Z             },
2026-06-16T04:57:29.7116637Z             {
2026-06-16T04:57:29.7116776Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.7116889Z               "line": 495
2026-06-16T04:57:29.7117002Z             }
2026-06-16T04:57:29.7117102Z           ]
2026-06-16T04:57:29.7117213Z         },
2026-06-16T04:57:29.7117321Z         "int": {
2026-06-16T04:57:29.7117442Z           "complete": false,
2026-06-16T04:57:29.7117547Z           "evidence": []
2026-06-16T04:57:29.7117655Z         },
2026-06-16T04:57:29.7117761Z         "unit": {
2026-06-16T04:57:29.7117866Z           "complete": true,
2026-06-16T04:57:29.7117980Z           "evidence": [
2026-06-16T04:57:29.7118090Z             {
2026-06-16T04:57:29.7118233Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7118343Z               "line": 130
2026-06-16T04:57:29.7118443Z             },
2026-06-16T04:57:29.7118557Z             {
2026-06-16T04:57:29.7118682Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7118795Z               "line": 138
2026-06-16T04:57:29.7118890Z             },
2026-06-16T04:57:29.7119063Z             {
2026-06-16T04:57:29.7119305Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7119517Z               "line": 146
2026-06-16T04:57:29.7119631Z             },
2026-06-16T04:57:29.7119732Z             {
2026-06-16T04:57:29.7119874Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7119975Z               "line": 154
2026-06-16T04:57:29.7120080Z             },
2026-06-16T04:57:29.7120184Z             {
2026-06-16T04:57:29.7120314Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7120428Z               "line": 162
2026-06-16T04:57:29.7120532Z             },
2026-06-16T04:57:29.7120638Z             {
2026-06-16T04:57:29.7120766Z               "path": "crates/spt/src/api/auth.rs",
2026-06-16T04:57:29.7120880Z               "line": 170
2026-06-16T04:57:29.7120982Z             }
2026-06-16T04:57:29.7121090Z           ]
2026-06-16T04:57:29.7121195Z         }
2026-06-16T04:57:29.7121292Z       }
2026-06-16T04:57:29.7121400Z     },
2026-06-16T04:57:29.7121500Z     {
2026-06-16T04:57:29.7121639Z       "id": "REQ-HAZARD-PAIR-RATE-LIMIT",
2026-06-16T04:57:29.7122758Z       "title": "Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)",
2026-06-16T04:57:29.7122883Z       "requiredStages": [
2026-06-16T04:57:29.7122997Z         "impl",
2026-06-16T04:57:29.7123101Z         "unit"
2026-06-16T04:57:29.7123212Z       ],
2026-06-16T04:57:29.7123321Z       "stages": {
2026-06-16T04:57:29.7123430Z         "doc": {
2026-06-16T04:57:29.7123550Z           "complete": false,
2026-06-16T04:57:29.7123659Z           "evidence": []
2026-06-16T04:57:29.7123765Z         },
2026-06-16T04:57:29.7123869Z         "impl": {
2026-06-16T04:57:29.7123988Z           "complete": true,
2026-06-16T04:57:29.7124099Z           "evidence": [
2026-06-16T04:57:29.7124203Z             {
2026-06-16T04:57:29.7124397Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7124511Z               "line": 34
2026-06-16T04:57:29.7124619Z             }
2026-06-16T04:57:29.7124724Z           ]
2026-06-16T04:57:29.7124839Z         },
2026-06-16T04:57:29.7124944Z         "int": {
2026-06-16T04:57:29.7125067Z           "complete": false,
2026-06-16T04:57:29.7125178Z           "evidence": []
2026-06-16T04:57:29.7125287Z         },
2026-06-16T04:57:29.7125402Z         "unit": {
2026-06-16T04:57:29.7125516Z           "complete": true,
2026-06-16T04:57:29.7125639Z           "evidence": [
2026-06-16T04:57:29.7125741Z             {
2026-06-16T04:57:29.7125911Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7126026Z               "line": 188
2026-06-16T04:57:29.7126135Z             },
2026-06-16T04:57:29.7126245Z             {
2026-06-16T04:57:29.7126408Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7126526Z               "line": 200
2026-06-16T04:57:29.7126642Z             },
2026-06-16T04:57:29.7126756Z             {
2026-06-16T04:57:29.7126913Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7127014Z               "line": 211
2026-06-16T04:57:29.7127127Z             },
2026-06-16T04:57:29.7127226Z             {
2026-06-16T04:57:29.7127397Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7127505Z               "line": 253
2026-06-16T04:57:29.7127610Z             },
2026-06-16T04:57:29.7127716Z             {
2026-06-16T04:57:29.7127881Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7127983Z               "line": 277
2026-06-16T04:57:29.7128093Z             },
2026-06-16T04:57:29.7128191Z             {
2026-06-16T04:57:29.7128355Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7128478Z               "line": 300
2026-06-16T04:57:29.7128593Z             },
2026-06-16T04:57:29.7128821Z             {
2026-06-16T04:57:29.7129140Z               "path": "crates/spt-net/src/net/pairing/ratelimit.rs",
2026-06-16T04:57:29.7129256Z               "line": 316
2026-06-16T04:57:29.7129370Z             }
2026-06-16T04:57:29.7129474Z           ]
2026-06-16T04:57:29.7129581Z         }
2026-06-16T04:57:29.7129694Z       }
2026-06-16T04:57:29.7129793Z     },
2026-06-16T04:57:29.7129898Z     {
2026-06-16T04:57:29.7130039Z       "id": "REQ-HAZARD-PAIR-SEED-ROTATION",
2026-06-16T04:57:29.7130611Z       "title": "Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)",
2026-06-16T04:57:29.7130734Z       "requiredStages": [
2026-06-16T04:57:29.7130840Z         "impl",
2026-06-16T04:57:29.7130949Z         "unit"
2026-06-16T04:57:29.7131054Z       ],
2026-06-16T04:57:29.7131160Z       "stages": {
2026-06-16T04:57:29.7131259Z         "doc": {
2026-06-16T04:57:29.7131378Z           "complete": false,
2026-06-16T04:57:29.7131499Z           "evidence": []
2026-06-16T04:57:29.7131602Z         },
2026-06-16T04:57:29.7131712Z         "impl": {
2026-06-16T04:57:29.7131828Z           "complete": true,
2026-06-16T04:57:29.7131931Z           "evidence": [
2026-06-16T04:57:29.7132037Z             {
2026-06-16T04:57:29.7132186Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7132294Z               "line": 29
2026-06-16T04:57:29.7132410Z             },
2026-06-16T04:57:29.7132515Z             {
2026-06-16T04:57:29.7132660Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7132765Z               "line": 174
2026-06-16T04:57:29.7132862Z             },
2026-06-16T04:57:29.7132970Z             {
2026-06-16T04:57:29.7133109Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7133233Z               "line": 194
2026-06-16T04:57:29.7133328Z             },
2026-06-16T04:57:29.7133439Z             {
2026-06-16T04:57:29.7133585Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7133700Z               "line": 222
2026-06-16T04:57:29.7133819Z             }
2026-06-16T04:57:29.7133914Z           ]
2026-06-16T04:57:29.7134025Z         },
2026-06-16T04:57:29.7134124Z         "int": {
2026-06-16T04:57:29.7134243Z           "complete": false,
2026-06-16T04:57:29.7134359Z           "evidence": []
2026-06-16T04:57:29.7134463Z         },
2026-06-16T04:57:29.7134562Z         "unit": {
2026-06-16T04:57:29.7134673Z           "complete": true,
2026-06-16T04:57:29.7134778Z           "evidence": [
2026-06-16T04:57:29.7134882Z             {
2026-06-16T04:57:29.7135029Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7135141Z               "line": 329
2026-06-16T04:57:29.7135250Z             },
2026-06-16T04:57:29.7135351Z             {
2026-06-16T04:57:29.7135494Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7135613Z               "line": 344
2026-06-16T04:57:29.7135728Z             },
2026-06-16T04:57:29.7135832Z             {
2026-06-16T04:57:29.7135982Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7136090Z               "line": 417
2026-06-16T04:57:29.7136195Z             },
2026-06-16T04:57:29.7136296Z             {
2026-06-16T04:57:29.7136443Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7136557Z               "line": 433
2026-06-16T04:57:29.7136663Z             },
2026-06-16T04:57:29.7136776Z             {
2026-06-16T04:57:29.7136921Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7137039Z               "line": 492
2026-06-16T04:57:29.7137144Z             },
2026-06-16T04:57:29.7137255Z             {
2026-06-16T04:57:29.7137396Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7137512Z               "line": 506
2026-06-16T04:57:29.7137626Z             },
2026-06-16T04:57:29.7137725Z             {
2026-06-16T04:57:29.7138004Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7138199Z               "line": 517
2026-06-16T04:57:29.7138304Z             },
2026-06-16T04:57:29.7138404Z             {
2026-06-16T04:57:29.7138552Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7138671Z               "line": 528
2026-06-16T04:57:29.7138775Z             }
2026-06-16T04:57:29.7138886Z           ]
2026-06-16T04:57:29.7139062Z         }
2026-06-16T04:57:29.7139168Z       }
2026-06-16T04:57:29.7139277Z     },
2026-06-16T04:57:29.7139377Z     {
2026-06-16T04:57:29.7139521Z       "id": "REQ-HAZARD-PAIR-TRANSCRIPT-BIND",
2026-06-16T04:57:29.7140231Z       "title": "Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)",
2026-06-16T04:57:29.7140353Z       "requiredStages": [
2026-06-16T04:57:29.7140458Z         "impl",
2026-06-16T04:57:29.7140576Z         "unit"
2026-06-16T04:57:29.7140699Z       ],
2026-06-16T04:57:29.7140804Z       "stages": {
2026-06-16T04:57:29.7140919Z         "doc": {
2026-06-16T04:57:29.7141037Z           "complete": false,
2026-06-16T04:57:29.7141143Z           "evidence": []
2026-06-16T04:57:29.7141243Z         },
2026-06-16T04:57:29.7141357Z         "impl": {
2026-06-16T04:57:29.7141482Z           "complete": true,
2026-06-16T04:57:29.7141586Z           "evidence": [
2026-06-16T04:57:29.7141696Z             {
2026-06-16T04:57:29.7141862Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7141977Z               "line": 27
2026-06-16T04:57:29.7142078Z             },
2026-06-16T04:57:29.7142177Z             {
2026-06-16T04:57:29.7142340Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7142435Z               "line": 110
2026-06-16T04:57:29.7142540Z             },
2026-06-16T04:57:29.7142645Z             {
2026-06-16T04:57:29.7142806Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7142921Z               "line": 153
2026-06-16T04:57:29.7143027Z             },
2026-06-16T04:57:29.7143131Z             {
2026-06-16T04:57:29.7143282Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7143407Z               "line": 182
2026-06-16T04:57:29.7143506Z             },
2026-06-16T04:57:29.7143621Z             {
2026-06-16T04:57:29.7143788Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7143902Z               "line": 31
2026-06-16T04:57:29.7144018Z             },
2026-06-16T04:57:29.7144122Z             {
2026-06-16T04:57:29.7144289Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7144403Z               "line": 113
2026-06-16T04:57:29.7144512Z             },
2026-06-16T04:57:29.7144609Z             {
2026-06-16T04:57:29.7144780Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7144890Z               "line": 138
2026-06-16T04:57:29.7144995Z             }
2026-06-16T04:57:29.7145099Z           ]
2026-06-16T04:57:29.7145199Z         },
2026-06-16T04:57:29.7145305Z         "int": {
2026-06-16T04:57:29.7145418Z           "complete": false,
2026-06-16T04:57:29.7145527Z           "evidence": []
2026-06-16T04:57:29.7145636Z         },
2026-06-16T04:57:29.7145739Z         "unit": {
2026-06-16T04:57:29.7145859Z           "complete": true,
2026-06-16T04:57:29.7145969Z           "evidence": [
2026-06-16T04:57:29.7146082Z             {
2026-06-16T04:57:29.7146236Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7146354Z               "line": 261
2026-06-16T04:57:29.7146463Z             },
2026-06-16T04:57:29.7146565Z             {
2026-06-16T04:57:29.7146726Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7146837Z               "line": 276
2026-06-16T04:57:29.7146946Z             },
2026-06-16T04:57:29.7147166Z             {
2026-06-16T04:57:29.7147399Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7147515Z               "line": 293
2026-06-16T04:57:29.7147613Z             },
2026-06-16T04:57:29.7147718Z             {
2026-06-16T04:57:29.7147871Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7147990Z               "line": 310
2026-06-16T04:57:29.7148087Z             },
2026-06-16T04:57:29.7148191Z             {
2026-06-16T04:57:29.7148346Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7148452Z               "line": 327
2026-06-16T04:57:29.7148555Z             },
2026-06-16T04:57:29.7148649Z             {
2026-06-16T04:57:29.7148802Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7148907Z               "line": 366
2026-06-16T04:57:29.7149069Z             },
2026-06-16T04:57:29.7149174Z             {
2026-06-16T04:57:29.7149330Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7149456Z               "line": 179
2026-06-16T04:57:29.7149551Z             },
2026-06-16T04:57:29.7149660Z             {
2026-06-16T04:57:29.7149832Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7149937Z               "line": 194
2026-06-16T04:57:29.7150048Z             },
2026-06-16T04:57:29.7150151Z             {
2026-06-16T04:57:29.7150319Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7150429Z               "line": 204
2026-06-16T04:57:29.7150537Z             },
2026-06-16T04:57:29.7150639Z             {
2026-06-16T04:57:29.7150800Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7150913Z               "line": 259
2026-06-16T04:57:29.7151019Z             },
2026-06-16T04:57:29.7151131Z             {
2026-06-16T04:57:29.7151297Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7151417Z               "line": 269
2026-06-16T04:57:29.7151530Z             },
2026-06-16T04:57:29.7151626Z             {
2026-06-16T04:57:29.7151798Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7151912Z               "line": 283
2026-06-16T04:57:29.7152018Z             }
2026-06-16T04:57:29.7152132Z           ]
2026-06-16T04:57:29.7152232Z         }
2026-06-16T04:57:29.7152337Z       }
2026-06-16T04:57:29.7152442Z     },
2026-06-16T04:57:29.7152537Z     {
2026-06-16T04:57:29.7152680Z       "id": "REQ-HAZARD-PARENT-PID-PREFER",
2026-06-16T04:57:29.7152905Z       "title": "Prefer stable parent PID / broker handle over ephemeral PID (2.1)",
2026-06-16T04:57:29.7153028Z       "requiredStages": [],
2026-06-16T04:57:29.7153133Z       "stages": {
2026-06-16T04:57:29.7153239Z         "doc": {
2026-06-16T04:57:29.7153362Z           "complete": false,
2026-06-16T04:57:29.7153486Z           "evidence": []
2026-06-16T04:57:29.7153582Z         },
2026-06-16T04:57:29.7153691Z         "impl": {
2026-06-16T04:57:29.7153823Z           "complete": false,
2026-06-16T04:57:29.7153934Z           "evidence": []
2026-06-16T04:57:29.7154034Z         },
2026-06-16T04:57:29.7154138Z         "int": {
2026-06-16T04:57:29.7154258Z           "complete": false,
2026-06-16T04:57:29.7154358Z           "evidence": []
2026-06-16T04:57:29.7154462Z         },
2026-06-16T04:57:29.7154568Z         "unit": {
2026-06-16T04:57:29.7154682Z           "complete": false,
2026-06-16T04:57:29.7154791Z           "evidence": []
2026-06-16T04:57:29.7154897Z         }
2026-06-16T04:57:29.7155002Z       }
2026-06-16T04:57:29.7155106Z     },
2026-06-16T04:57:29.7155212Z     {
2026-06-16T04:57:29.7155363Z       "id": "REQ-HAZARD-PSYCHE-OUTBOUND-PROXY",
2026-06-16T04:57:29.7156280Z       "title": "Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)",
2026-06-16T04:57:29.7156539Z       "requiredStages": [
2026-06-16T04:57:29.7156738Z         "impl",
2026-06-16T04:57:29.7156853Z         "unit"
2026-06-16T04:57:29.7156962Z       ],
2026-06-16T04:57:29.7157068Z       "stages": {
2026-06-16T04:57:29.7157177Z         "doc": {
2026-06-16T04:57:29.7157300Z           "complete": false,
2026-06-16T04:57:29.7157411Z           "evidence": []
2026-06-16T04:57:29.7157516Z         },
2026-06-16T04:57:29.7157620Z         "impl": {
2026-06-16T04:57:29.7157736Z           "complete": true,
2026-06-16T04:57:29.7157849Z           "evidence": [
2026-06-16T04:57:29.7157959Z             {
2026-06-16T04:57:29.7158103Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7158221Z               "line": 26
2026-06-16T04:57:29.7158332Z             },
2026-06-16T04:57:29.7158455Z             {
2026-06-16T04:57:29.7158608Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7158714Z               "line": 95
2026-06-16T04:57:29.7158826Z             },
2026-06-16T04:57:29.7158930Z             {
2026-06-16T04:57:29.7159176Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7159281Z               "line": 166
2026-06-16T04:57:29.7159382Z             },
2026-06-16T04:57:29.7159491Z             {
2026-06-16T04:57:29.7159634Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7159744Z               "line": 19
2026-06-16T04:57:29.7159848Z             },
2026-06-16T04:57:29.7159959Z             {
2026-06-16T04:57:29.7160102Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7160210Z               "line": 50
2026-06-16T04:57:29.7160317Z             },
2026-06-16T04:57:29.7160421Z             {
2026-06-16T04:57:29.7160564Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T04:57:29.7160669Z               "line": 18
2026-06-16T04:57:29.7160773Z             },
2026-06-16T04:57:29.7160874Z             {
2026-06-16T04:57:29.7161017Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T04:57:29.7161155Z               "line": 71
2026-06-16T04:57:29.7161257Z             },
2026-06-16T04:57:29.7161365Z             {
2026-06-16T04:57:29.7161506Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7161616Z               "line": 87
2026-06-16T04:57:29.7161714Z             }
2026-06-16T04:57:29.7161819Z           ]
2026-06-16T04:57:29.7161924Z         },
2026-06-16T04:57:29.7162015Z         "int": {
2026-06-16T04:57:29.7162128Z           "complete": false,
2026-06-16T04:57:29.7162239Z           "evidence": []
2026-06-16T04:57:29.7162340Z         },
2026-06-16T04:57:29.7162443Z         "unit": {
2026-06-16T04:57:29.7162564Z           "complete": true,
2026-06-16T04:57:29.7162673Z           "evidence": [
2026-06-16T04:57:29.7162772Z             {
2026-06-16T04:57:29.7162921Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7163035Z               "line": 289
2026-06-16T04:57:29.7163140Z             },
2026-06-16T04:57:29.7163250Z             {
2026-06-16T04:57:29.7163402Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7163513Z               "line": 314
2026-06-16T04:57:29.7163612Z             },
2026-06-16T04:57:29.7163717Z             {
2026-06-16T04:57:29.7163861Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7163964Z               "line": 350
2026-06-16T04:57:29.7164071Z             },
2026-06-16T04:57:29.7164181Z             {
2026-06-16T04:57:29.7164331Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7164436Z               "line": 418
2026-06-16T04:57:29.7164542Z             },
2026-06-16T04:57:29.7164636Z             {
2026-06-16T04:57:29.7164780Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7164899Z               "line": 429
2026-06-16T04:57:29.7165003Z             },
2026-06-16T04:57:29.7165104Z             {
2026-06-16T04:57:29.7165252Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7165571Z               "line": 460
2026-06-16T04:57:29.7165676Z             },
2026-06-16T04:57:29.7165781Z             {
2026-06-16T04:57:29.7165928Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7166035Z               "line": 471
2026-06-16T04:57:29.7166139Z             },
2026-06-16T04:57:29.7166229Z             {
2026-06-16T04:57:29.7166378Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7166491Z               "line": 77
2026-06-16T04:57:29.7166600Z             },
2026-06-16T04:57:29.7166704Z             {
2026-06-16T04:57:29.7166845Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7166964Z               "line": 97
2026-06-16T04:57:29.7167056Z             },
2026-06-16T04:57:29.7167165Z             {
2026-06-16T04:57:29.7167303Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7167418Z               "line": 112
2026-06-16T04:57:29.7167531Z             },
2026-06-16T04:57:29.7167637Z             {
2026-06-16T04:57:29.7167781Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7167889Z               "line": 123
2026-06-16T04:57:29.7167995Z             },
2026-06-16T04:57:29.7168100Z             {
2026-06-16T04:57:29.7168247Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7168353Z               "line": 130
2026-06-16T04:57:29.7168457Z             },
2026-06-16T04:57:29.7168562Z             {
2026-06-16T04:57:29.7168705Z               "path": "crates/spt-live/src/outbound.rs",
2026-06-16T04:57:29.7168824Z               "line": 145
2026-06-16T04:57:29.7168930Z             },
2026-06-16T04:57:29.7169139Z             {
2026-06-16T04:57:29.7169283Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T04:57:29.7169386Z               "line": 115
2026-06-16T04:57:29.7169490Z             },
2026-06-16T04:57:29.7169596Z             {
2026-06-16T04:57:29.7169741Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T04:57:29.7169865Z               "line": 130
2026-06-16T04:57:29.7169975Z             },
2026-06-16T04:57:29.7170084Z             {
2026-06-16T04:57:29.7170229Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7170347Z               "line": 428
2026-06-16T04:57:29.7170451Z             }
2026-06-16T04:57:29.7170558Z           ]
2026-06-16T04:57:29.7170662Z         }
2026-06-16T04:57:29.7170771Z       }
2026-06-16T04:57:29.7170872Z     },
2026-06-16T04:57:29.7170971Z     {
2026-06-16T04:57:29.7171119Z       "id": "REQ-HAZARD-PUMP-IPC-DEADLINE",
2026-06-16T04:57:29.7171991Z       "title": "The single-threaded peer pump's brain-IPC reads are deadline-bounded (PUMP_PEER_IO_TIMEOUT, total-wait per call); a TimedOut read POISONS the client and escalates to a SUPERVISED RESTART, never a per-peer retry — a black-holed peer must never wedge the whole pump",
2026-06-16T04:57:29.7172119Z       "requiredStages": [
2026-06-16T04:57:29.7172228Z         "doc",
2026-06-16T04:57:29.7172336Z         "impl",
2026-06-16T04:57:29.7172441Z         "unit"
2026-06-16T04:57:29.7172533Z       ],
2026-06-16T04:57:29.7172632Z       "stages": {
2026-06-16T04:57:29.7172737Z         "doc": {
2026-06-16T04:57:29.7172857Z           "complete": true,
2026-06-16T04:57:29.7172970Z           "evidence": [
2026-06-16T04:57:29.7173071Z             {
2026-06-16T04:57:29.7173214Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7173328Z               "line": 367
2026-06-16T04:57:29.7173443Z             }
2026-06-16T04:57:29.7173543Z           ]
2026-06-16T04:57:29.7173643Z         },
2026-06-16T04:57:29.7173763Z         "impl": {
2026-06-16T04:57:29.7173877Z           "complete": true,
2026-06-16T04:57:29.7173986Z           "evidence": [
2026-06-16T04:57:29.7174087Z             {
2026-06-16T04:57:29.7174234Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7174330Z               "line": 199
2026-06-16T04:57:29.7174435Z             },
2026-06-16T04:57:29.7174645Z             {
2026-06-16T04:57:29.7174886Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7175011Z               "line": 303
2026-06-16T04:57:29.7175107Z             },
2026-06-16T04:57:29.7175215Z             {
2026-06-16T04:57:29.7175354Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7175473Z               "line": 515
2026-06-16T04:57:29.7175572Z             },
2026-06-16T04:57:29.7175669Z             {
2026-06-16T04:57:29.7175816Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7175931Z               "line": 530
2026-06-16T04:57:29.7176041Z             },
2026-06-16T04:57:29.7176145Z             {
2026-06-16T04:57:29.7176285Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7176398Z               "line": 1127
2026-06-16T04:57:29.7176503Z             },
2026-06-16T04:57:29.7176605Z             {
2026-06-16T04:57:29.7176750Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7176870Z               "line": 443
2026-06-16T04:57:29.7176976Z             },
2026-06-16T04:57:29.7177084Z             {
2026-06-16T04:57:29.7177236Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7177340Z               "line": 590
2026-06-16T04:57:29.7177443Z             },
2026-06-16T04:57:29.7177549Z             {
2026-06-16T04:57:29.7177697Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7177815Z               "line": 731
2026-06-16T04:57:29.7177916Z             }
2026-06-16T04:57:29.7178016Z           ]
2026-06-16T04:57:29.7186258Z         },
2026-06-16T04:57:29.7186400Z         "int": {
2026-06-16T04:57:29.7186530Z           "complete": false,
2026-06-16T04:57:29.7186644Z           "evidence": []
2026-06-16T04:57:29.7186753Z         },
2026-06-16T04:57:29.7186864Z         "unit": {
2026-06-16T04:57:29.7186987Z           "complete": true,
2026-06-16T04:57:29.7187101Z           "evidence": [
2026-06-16T04:57:29.7187226Z             {
2026-06-16T04:57:29.7187392Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7187512Z               "line": 1155
2026-06-16T04:57:29.7187616Z             },
2026-06-16T04:57:29.7187715Z             {
2026-06-16T04:57:29.7187886Z               "path": "crates/spt-daemon/tests/pumpdeadline.rs",
2026-06-16T04:57:29.7188008Z               "line": 30
2026-06-16T04:57:29.7188109Z             }
2026-06-16T04:57:29.7188214Z           ]
2026-06-16T04:57:29.7188318Z         }
2026-06-16T04:57:29.7188428Z       }
2026-06-16T04:57:29.7188534Z     },
2026-06-16T04:57:29.7188643Z     {
2026-06-16T04:57:29.7188786Z       "id": "REQ-HAZARD-REGISTRY-CONCURRENT",
2026-06-16T04:57:29.7189182Z       "title": "Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)",
2026-06-16T04:57:29.7189305Z       "requiredStages": [
2026-06-16T04:57:29.7189407Z         "impl",
2026-06-16T04:57:29.7189516Z         "unit"
2026-06-16T04:57:29.7189620Z       ],
2026-06-16T04:57:29.7189736Z       "stages": {
2026-06-16T04:57:29.7189854Z         "doc": {
2026-06-16T04:57:29.7189973Z           "complete": true,
2026-06-16T04:57:29.7190093Z           "evidence": [
2026-06-16T04:57:29.7190201Z             {
2026-06-16T04:57:29.7190351Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7190451Z               "line": 139
2026-06-16T04:57:29.7190554Z             }
2026-06-16T04:57:29.7190654Z           ]
2026-06-16T04:57:29.7190754Z         },
2026-06-16T04:57:29.7190866Z         "impl": {
2026-06-16T04:57:29.7190981Z           "complete": true,
2026-06-16T04:57:29.7191095Z           "evidence": [
2026-06-16T04:57:29.7191199Z             {
2026-06-16T04:57:29.7191339Z               "path": "crates/spt-store/src/db.rs",
2026-06-16T04:57:29.7191454Z               "line": 29
2026-06-16T04:57:29.7191557Z             },
2026-06-16T04:57:29.7191663Z             {
2026-06-16T04:57:29.7191806Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7192077Z               "line": 101
2026-06-16T04:57:29.7192274Z             },
2026-06-16T04:57:29.7192373Z             {
2026-06-16T04:57:29.7192521Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7192627Z               "line": 30
2026-06-16T04:57:29.7192735Z             },
2026-06-16T04:57:29.7192831Z             {
2026-06-16T04:57:29.7192980Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7193083Z               "line": 48
2026-06-16T04:57:29.7193186Z             }
2026-06-16T04:57:29.7193292Z           ]
2026-06-16T04:57:29.7193395Z         },
2026-06-16T04:57:29.7193490Z         "int": {
2026-06-16T04:57:29.7193600Z           "complete": false,
2026-06-16T04:57:29.7193710Z           "evidence": []
2026-06-16T04:57:29.7193814Z         },
2026-06-16T04:57:29.7193920Z         "unit": {
2026-06-16T04:57:29.7194034Z           "complete": true,
2026-06-16T04:57:29.7194138Z           "evidence": [
2026-06-16T04:57:29.7194240Z             {
2026-06-16T04:57:29.7194386Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7194502Z               "line": 162
2026-06-16T04:57:29.7194606Z             }
2026-06-16T04:57:29.7194710Z           ]
2026-06-16T04:57:29.7194816Z         }
2026-06-16T04:57:29.7194921Z       }
2026-06-16T04:57:29.7195025Z     },
2026-06-16T04:57:29.7195131Z     {
2026-06-16T04:57:29.7195268Z       "id": "REQ-HAZARD-REGISTRY-DIR-CREATE",
2026-06-16T04:57:29.7195814Z       "title": "SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)",
2026-06-16T04:57:29.7195940Z       "requiredStages": [
2026-06-16T04:57:29.7196054Z         "doc",
2026-06-16T04:57:29.7196165Z         "impl",
2026-06-16T04:57:29.7196278Z         "unit"
2026-06-16T04:57:29.7196378Z       ],
2026-06-16T04:57:29.7196494Z       "stages": {
2026-06-16T04:57:29.7196598Z         "doc": {
2026-06-16T04:57:29.7196712Z           "complete": true,
2026-06-16T04:57:29.7196832Z           "evidence": [
2026-06-16T04:57:29.7196936Z             {
2026-06-16T04:57:29.7197080Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7197185Z               "line": 151
2026-06-16T04:57:29.7197289Z             }
2026-06-16T04:57:29.7197390Z           ]
2026-06-16T04:57:29.7197499Z         },
2026-06-16T04:57:29.7197609Z         "impl": {
2026-06-16T04:57:29.7197715Z           "complete": true,
2026-06-16T04:57:29.7197824Z           "evidence": [
2026-06-16T04:57:29.7197928Z             {
2026-06-16T04:57:29.7198073Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7198176Z               "line": 22
2026-06-16T04:57:29.7198275Z             }
2026-06-16T04:57:29.7198381Z           ]
2026-06-16T04:57:29.7198484Z         },
2026-06-16T04:57:29.7198592Z         "int": {
2026-06-16T04:57:29.7198707Z           "complete": false,
2026-06-16T04:57:29.7198821Z           "evidence": []
2026-06-16T04:57:29.7198926Z         },
2026-06-16T04:57:29.7199127Z         "unit": {
2026-06-16T04:57:29.7199245Z           "complete": true,
2026-06-16T04:57:29.7199356Z           "evidence": [
2026-06-16T04:57:29.7199470Z             {
2026-06-16T04:57:29.7199618Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7199728Z               "line": 298
2026-06-16T04:57:29.7199832Z             }
2026-06-16T04:57:29.7199928Z           ]
2026-06-16T04:57:29.7200033Z         }
2026-06-16T04:57:29.7200137Z       }
2026-06-16T04:57:29.7200243Z     },
2026-06-16T04:57:29.7200343Z     {
2026-06-16T04:57:29.7200490Z       "id": "REQ-HAZARD-REGISTRY-EPOCH-LEASE",
2026-06-16T04:57:29.7200968Z       "title": "Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)",
2026-06-16T04:57:29.7201095Z       "requiredStages": [
2026-06-16T04:57:29.7201199Z         "impl",
2026-06-16T04:57:29.7201300Z         "unit"
2026-06-16T04:57:29.7201398Z       ],
2026-06-16T04:57:29.7201502Z       "stages": {
2026-06-16T04:57:29.7201722Z         "doc": {
2026-06-16T04:57:29.7201832Z           "complete": true,
2026-06-16T04:57:29.7202056Z           "evidence": [
2026-06-16T04:57:29.7202160Z             {
2026-06-16T04:57:29.7202299Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7202413Z               "line": 145
2026-06-16T04:57:29.7202519Z             }
2026-06-16T04:57:29.7202628Z           ]
2026-06-16T04:57:29.7202728Z         },
2026-06-16T04:57:29.7202834Z         "impl": {
2026-06-16T04:57:29.7202943Z           "complete": true,
2026-06-16T04:57:29.7203052Z           "evidence": [
2026-06-16T04:57:29.7203154Z             {
2026-06-16T04:57:29.7203314Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T04:57:29.7203415Z               "line": 160
2026-06-16T04:57:29.7203521Z             },
2026-06-16T04:57:29.7203624Z             {
2026-06-16T04:57:29.7203790Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7203904Z               "line": 200
2026-06-16T04:57:29.7204002Z             },
2026-06-16T04:57:29.7204113Z             {
2026-06-16T04:57:29.7204261Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7204384Z               "line": 298
2026-06-16T04:57:29.7204485Z             },
2026-06-16T04:57:29.7204590Z             {
2026-06-16T04:57:29.7204727Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T04:57:29.7204838Z               "line": 20
2026-06-16T04:57:29.7204942Z             }
2026-06-16T04:57:29.7205047Z           ]
2026-06-16T04:57:29.7205157Z         },
2026-06-16T04:57:29.7205257Z         "int": {
2026-06-16T04:57:29.7205371Z           "complete": false,
2026-06-16T04:57:29.7205477Z           "evidence": []
2026-06-16T04:57:29.7205576Z         },
2026-06-16T04:57:29.7205681Z         "unit": {
2026-06-16T04:57:29.7205801Z           "complete": true,
2026-06-16T04:57:29.7205914Z           "evidence": [
2026-06-16T04:57:29.7206016Z             {
2026-06-16T04:57:29.7206176Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7206301Z               "line": 885
2026-06-16T04:57:29.7206412Z             },
2026-06-16T04:57:29.7206514Z             {
2026-06-16T04:57:29.7206672Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-16T04:57:29.7206783Z               "line": 88
2026-06-16T04:57:29.7206886Z             },
2026-06-16T04:57:29.7206987Z             {
2026-06-16T04:57:29.7207135Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7207244Z               "line": 819
2026-06-16T04:57:29.7207345Z             },
2026-06-16T04:57:29.7207459Z             {
2026-06-16T04:57:29.7207602Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7207707Z               "line": 838
2026-06-16T04:57:29.7207811Z             },
2026-06-16T04:57:29.7207941Z             {
2026-06-16T04:57:29.7208093Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7208202Z               "line": 279
2026-06-16T04:57:29.7208309Z             },
2026-06-16T04:57:29.7208426Z             {
2026-06-16T04:57:29.7208570Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T04:57:29.7208684Z               "line": 82
2026-06-16T04:57:29.7208788Z             },
2026-06-16T04:57:29.7208897Z             {
2026-06-16T04:57:29.7209120Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T04:57:29.7209229Z               "line": 99
2026-06-16T04:57:29.7209340Z             },
2026-06-16T04:57:29.7209439Z             {
2026-06-16T04:57:29.7209582Z               "path": "crates/spt-store/src/epoch.rs",
2026-06-16T04:57:29.7209692Z               "line": 119
2026-06-16T04:57:29.7209796Z             }
2026-06-16T04:57:29.7209902Z           ]
2026-06-16T04:57:29.7210011Z         }
2026-06-16T04:57:29.7210111Z       }
2026-06-16T04:57:29.7210217Z     },
2026-06-16T04:57:29.7210321Z     {
2026-06-16T04:57:29.7210459Z       "id": "REQ-HAZARD-REGISTRY-GHOST-ROWS",
2026-06-16T04:57:29.7211803Z       "title": "A dead node identity's registry rows must decay: only the per-(endpoint,node) epoch lease supersedes rows, so without eviction a vanished node's rows are immortal and poison bare-id resolution with phantom AcrossNodes ambiguity — evict rows whose author node has not been heard (admitted inbound feed) within the eviction window; own rows never decay; a revived node re-inserts from its durable epoch within one pump cadence (4.10)",
2026-06-16T04:57:29.7212120Z       "requiredStages": [
2026-06-16T04:57:29.7212225Z         "doc",
2026-06-16T04:57:29.7212325Z         "impl",
2026-06-16T04:57:29.7212430Z         "unit"
2026-06-16T04:57:29.7212531Z       ],
2026-06-16T04:57:29.7212635Z       "stages": {
2026-06-16T04:57:29.7212735Z         "doc": {
2026-06-16T04:57:29.7212860Z           "complete": true,
2026-06-16T04:57:29.7212969Z           "evidence": [
2026-06-16T04:57:29.7213074Z             {
2026-06-16T04:57:29.7213203Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7213316Z               "line": 157
2026-06-16T04:57:29.7213423Z             }
2026-06-16T04:57:29.7213531Z           ]
2026-06-16T04:57:29.7213636Z         },
2026-06-16T04:57:29.7213738Z         "impl": {
2026-06-16T04:57:29.7213860Z           "complete": true,
2026-06-16T04:57:29.7213970Z           "evidence": [
2026-06-16T04:57:29.7214076Z             {
2026-06-16T04:57:29.7214245Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.7214355Z               "line": 137
2026-06-16T04:57:29.7214464Z             },
2026-06-16T04:57:29.7214567Z             {
2026-06-16T04:57:29.7214725Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7214830Z               "line": 512
2026-06-16T04:57:29.7214929Z             },
2026-06-16T04:57:29.7215031Z             {
2026-06-16T04:57:29.7215178Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7215287Z               "line": 519
2026-06-16T04:57:29.7215393Z             },
2026-06-16T04:57:29.7215498Z             {
2026-06-16T04:57:29.7215655Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7215778Z               "line": 227
2026-06-16T04:57:29.7215883Z             }
2026-06-16T04:57:29.7215989Z           ]
2026-06-16T04:57:29.7216093Z         },
2026-06-16T04:57:29.7216203Z         "int": {
2026-06-16T04:57:29.7216323Z           "complete": false,
2026-06-16T04:57:29.7216436Z           "evidence": []
2026-06-16T04:57:29.7216547Z         },
2026-06-16T04:57:29.7216657Z         "unit": {
2026-06-16T04:57:29.7216775Z           "complete": true,
2026-06-16T04:57:29.7216886Z           "evidence": [
2026-06-16T04:57:29.7216991Z             {
2026-06-16T04:57:29.7217151Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7217256Z               "line": 1515
2026-06-16T04:57:29.7217366Z             },
2026-06-16T04:57:29.7217475Z             {
2026-06-16T04:57:29.7217624Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7217746Z               "line": 1573
2026-06-16T04:57:29.7217847Z             },
2026-06-16T04:57:29.7217952Z             {
2026-06-16T04:57:29.7218099Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7218215Z               "line": 851
2026-06-16T04:57:29.7218324Z             }
2026-06-16T04:57:29.7218428Z           ]
2026-06-16T04:57:29.7218540Z         }
2026-06-16T04:57:29.7218633Z       }
2026-06-16T04:57:29.7218743Z     },
2026-06-16T04:57:29.7218840Z     {
2026-06-16T04:57:29.7219053Z       "id": "REQ-HAZARD-REGISTRY-STALE-CLEAN",
2026-06-16T04:57:29.7219282Z       "title": "Stale registry entries degrade to fallback, never hard-fail (4.3)",
2026-06-16T04:57:29.7219391Z       "requiredStages": [
2026-06-16T04:57:29.7219505Z         "impl",
2026-06-16T04:57:29.7219604Z         "unit"
2026-06-16T04:57:29.7219712Z       ],
2026-06-16T04:57:29.7219818Z       "stages": {
2026-06-16T04:57:29.7219923Z         "doc": {
2026-06-16T04:57:29.7220046Z           "complete": false,
2026-06-16T04:57:29.7220261Z           "evidence": []
2026-06-16T04:57:29.7220453Z         },
2026-06-16T04:57:29.7220562Z         "impl": {
2026-06-16T04:57:29.7220685Z           "complete": true,
2026-06-16T04:57:29.7220796Z           "evidence": [
2026-06-16T04:57:29.7220905Z             {
2026-06-16T04:57:29.7221048Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7221153Z               "line": 15
2026-06-16T04:57:29.7221257Z             },
2026-06-16T04:57:29.7221353Z             {
2026-06-16T04:57:29.7221496Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7221601Z               "line": 55
2026-06-16T04:57:29.7221707Z             },
2026-06-16T04:57:29.7221816Z             {
2026-06-16T04:57:29.7221959Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7222065Z               "line": 66
2026-06-16T04:57:29.7222168Z             },
2026-06-16T04:57:29.7222272Z             {
2026-06-16T04:57:29.7222411Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7222537Z               "line": 115
2026-06-16T04:57:29.7222637Z             },
2026-06-16T04:57:29.7222738Z             {
2026-06-16T04:57:29.7222880Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7222985Z               "line": 138
2026-06-16T04:57:29.7223091Z             }
2026-06-16T04:57:29.7223190Z           ]
2026-06-16T04:57:29.7223300Z         },
2026-06-16T04:57:29.7223405Z         "int": {
2026-06-16T04:57:29.7223524Z           "complete": false,
2026-06-16T04:57:29.7223629Z           "evidence": []
2026-06-16T04:57:29.7223729Z         },
2026-06-16T04:57:29.7223848Z         "unit": {
2026-06-16T04:57:29.7223959Z           "complete": true,
2026-06-16T04:57:29.7224072Z           "evidence": [
2026-06-16T04:57:29.7224168Z             {
2026-06-16T04:57:29.7224312Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7224420Z               "line": 149
2026-06-16T04:57:29.7224530Z             },
2026-06-16T04:57:29.7224631Z             {
2026-06-16T04:57:29.7224782Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7224886Z               "line": 155
2026-06-16T04:57:29.7224996Z             },
2026-06-16T04:57:29.7225099Z             {
2026-06-16T04:57:29.7225237Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7225333Z               "line": 169
2026-06-16T04:57:29.7225433Z             },
2026-06-16T04:57:29.7225532Z             {
2026-06-16T04:57:29.7225676Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7225790Z               "line": 178
2026-06-16T04:57:29.7225901Z             },
2026-06-16T04:57:29.7226005Z             {
2026-06-16T04:57:29.7226153Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7226277Z               "line": 195
2026-06-16T04:57:29.7226377Z             },
2026-06-16T04:57:29.7226477Z             {
2026-06-16T04:57:29.7226616Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7226730Z               "line": 208
2026-06-16T04:57:29.7226836Z             },
2026-06-16T04:57:29.7226935Z             {
2026-06-16T04:57:29.7227078Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7227184Z               "line": 271
2026-06-16T04:57:29.7227287Z             },
2026-06-16T04:57:29.7227392Z             {
2026-06-16T04:57:29.7227537Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7227644Z               "line": 290
2026-06-16T04:57:29.7227739Z             },
2026-06-16T04:57:29.7227840Z             {
2026-06-16T04:57:29.7227983Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7228087Z               "line": 319
2026-06-16T04:57:29.7228193Z             }
2026-06-16T04:57:29.7228297Z           ]
2026-06-16T04:57:29.7228402Z         }
2026-06-16T04:57:29.7228504Z       }
2026-06-16T04:57:29.7228622Z     },
2026-06-16T04:57:29.7228717Z     {
2026-06-16T04:57:29.7228860Z       "id": "REQ-HAZARD-RESTART-IDEMPOTENT",
2026-06-16T04:57:29.7229386Z       "title": "Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)",
2026-06-16T04:57:29.7229509Z       "requiredStages": [
2026-06-16T04:57:29.7229618Z         "impl",
2026-06-16T04:57:29.7229719Z         "unit",
2026-06-16T04:57:29.7229828Z         "int"
2026-06-16T04:57:29.7229932Z       ],
2026-06-16T04:57:29.7230041Z       "stages": {
2026-06-16T04:57:29.7230146Z         "doc": {
2026-06-16T04:57:29.7230268Z           "complete": false,
2026-06-16T04:57:29.7230383Z           "evidence": []
2026-06-16T04:57:29.7230479Z         },
2026-06-16T04:57:29.7230583Z         "impl": {
2026-06-16T04:57:29.7230688Z           "complete": true,
2026-06-16T04:57:29.7230803Z           "evidence": [
2026-06-16T04:57:29.7230907Z             {
2026-06-16T04:57:29.7231060Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7231174Z               "line": 447
2026-06-16T04:57:29.7231274Z             },
2026-06-16T04:57:29.7231389Z             {
2026-06-16T04:57:29.7231536Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7231657Z               "line": 867
2026-06-16T04:57:29.7231760Z             },
2026-06-16T04:57:29.7231865Z             {
2026-06-16T04:57:29.7232010Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7232118Z               "line": 912
2026-06-16T04:57:29.7232228Z             },
2026-06-16T04:57:29.7232334Z             {
2026-06-16T04:57:29.7232466Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.7232573Z               "line": 937
2026-06-16T04:57:29.7232681Z             },
2026-06-16T04:57:29.7232785Z             {
2026-06-16T04:57:29.7232933Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7233054Z               "line": 987
2026-06-16T04:57:29.7233149Z             },
2026-06-16T04:57:29.7233255Z             {
2026-06-16T04:57:29.7233388Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7233521Z               "line": 1113
2026-06-16T04:57:29.7233641Z             },
2026-06-16T04:57:29.7233736Z             {
2026-06-16T04:57:29.7233890Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7233999Z               "line": 1244
2026-06-16T04:57:29.7234113Z             },
2026-06-16T04:57:29.7234214Z             {
2026-06-16T04:57:29.7234356Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7234465Z               "line": 1292
2026-06-16T04:57:29.7234562Z             },
2026-06-16T04:57:29.7234670Z             {
2026-06-16T04:57:29.7234810Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.7234924Z               "line": 46
2026-06-16T04:57:29.7235028Z             },
2026-06-16T04:57:29.7235139Z             {
2026-06-16T04:57:29.7235276Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.7235389Z               "line": 167
2026-06-16T04:57:29.7235495Z             },
2026-06-16T04:57:29.7235593Z             {
2026-06-16T04:57:29.7235740Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7235845Z               "line": 132
2026-06-16T04:57:29.7235950Z             },
2026-06-16T04:57:29.7236059Z             {
2026-06-16T04:57:29.7236199Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7236312Z               "line": 137
2026-06-16T04:57:29.7236417Z             },
2026-06-16T04:57:29.7236523Z             {
2026-06-16T04:57:29.7236669Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7236776Z               "line": 183
2026-06-16T04:57:29.7236875Z             }
2026-06-16T04:57:29.7236980Z           ]
2026-06-16T04:57:29.7237081Z         },
2026-06-16T04:57:29.7237185Z         "int": {
2026-06-16T04:57:29.7237304Z           "complete": true,
2026-06-16T04:57:29.7237415Z           "evidence": [
2026-06-16T04:57:29.7237504Z             {
2026-06-16T04:57:29.7237667Z               "path": "crates/spt-daemon/tests/idempotent.rs",
2026-06-16T04:57:29.7237871Z               "line": 27
2026-06-16T04:57:29.7238082Z             },
2026-06-16T04:57:29.7238186Z             {
2026-06-16T04:57:29.7238352Z               "path": "crates/spt-daemon/tests/netbroker.rs",
2026-06-16T04:57:29.7238468Z               "line": 129
2026-06-16T04:57:29.7238571Z             },
2026-06-16T04:57:29.7238672Z             {
2026-06-16T04:57:29.7238816Z               "path": "crates/spt-daemon/tests/netstream.rs",
2026-06-16T04:57:29.7238929Z               "line": 200
2026-06-16T04:57:29.7239115Z             }
2026-06-16T04:57:29.7239219Z           ]
2026-06-16T04:57:29.7239326Z         },
2026-06-16T04:57:29.7239425Z         "unit": {
2026-06-16T04:57:29.7239548Z           "complete": true,
2026-06-16T04:57:29.7239655Z           "evidence": [
2026-06-16T04:57:29.7239759Z             {
2026-06-16T04:57:29.7239907Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.7240017Z               "line": 313
2026-06-16T04:57:29.7240130Z             },
2026-06-16T04:57:29.7240231Z             {
2026-06-16T04:57:29.7240375Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.7240478Z               "line": 345
2026-06-16T04:57:29.7240583Z             },
2026-06-16T04:57:29.7240687Z             {
2026-06-16T04:57:29.7240833Z               "path": "crates/spt-daemon/src/effect.rs",
2026-06-16T04:57:29.7240952Z               "line": 366
2026-06-16T04:57:29.7241058Z             },
2026-06-16T04:57:29.7241162Z             {
2026-06-16T04:57:29.7241306Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7241415Z               "line": 508
2026-06-16T04:57:29.7241514Z             },
2026-06-16T04:57:29.7241616Z             {
2026-06-16T04:57:29.7241762Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T04:57:29.7241873Z               "line": 289
2026-06-16T04:57:29.7241982Z             },
2026-06-16T04:57:29.7242086Z             {
2026-06-16T04:57:29.7242245Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T04:57:29.7242355Z               "line": 230
2026-06-16T04:57:29.7242468Z             },
2026-06-16T04:57:29.7242560Z             {
2026-06-16T04:57:29.7242702Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7242808Z               "line": 526
2026-06-16T04:57:29.7242913Z             },
2026-06-16T04:57:29.7243012Z             {
2026-06-16T04:57:29.7243137Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7243256Z               "line": 556
2026-06-16T04:57:29.7243355Z             }
2026-06-16T04:57:29.7243460Z           ]
2026-06-16T04:57:29.7243568Z         }
2026-06-16T04:57:29.7243667Z       }
2026-06-16T04:57:29.7243772Z     },
2026-06-16T04:57:29.7243872Z     {
2026-06-16T04:57:29.7244048Z       "id": "REQ-HAZARD-ROLLBACK-STATE-COMPAT",
2026-06-16T04:57:29.7245804Z       "title": "A brain must not irreversibly migrate durable state before update ready-promotion: the readiness-gated auto-rollback (ADR-0018 Q7) spawns the N-1 binary against durable state the new brain may have written, so every pre-ready write must stay N-1-readable (schema migrations gated behind ready-promotion, or written N-1-tolerant/additive). Else the first in-place schema migration silently bricks rollback (KNOWN-HAZARDS 6.8). Free now — a 2026-06-09 audit confirmed zero state-migration code exists; unmintable retroactively once a migration ships.",
2026-06-16T04:57:29.7245935Z       "requiredStages": [
2026-06-16T04:57:29.7246050Z         "doc",
2026-06-16T04:57:29.7246163Z         "impl",
2026-06-16T04:57:29.7246266Z         "unit"
2026-06-16T04:57:29.7246372Z       ],
2026-06-16T04:57:29.7246478Z       "stages": {
2026-06-16T04:57:29.7246591Z         "doc": {
2026-06-16T04:57:29.7246706Z           "complete": true,
2026-06-16T04:57:29.7246825Z           "evidence": [
2026-06-16T04:57:29.7246929Z             {
2026-06-16T04:57:29.7247063Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7247168Z               "line": 307
2026-06-16T04:57:29.7247378Z             }
2026-06-16T04:57:29.7247588Z           ]
2026-06-16T04:57:29.7247689Z         },
2026-06-16T04:57:29.7247802Z         "impl": {
2026-06-16T04:57:29.7247927Z           "complete": true,
2026-06-16T04:57:29.7248032Z           "evidence": [
2026-06-16T04:57:29.7248136Z             {
2026-06-16T04:57:29.7248300Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T04:57:29.7248407Z               "line": 33
2026-06-16T04:57:29.7248513Z             },
2026-06-16T04:57:29.7248615Z             {
2026-06-16T04:57:29.7248774Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T04:57:29.7248879Z               "line": 39
2026-06-16T04:57:29.7249056Z             }
2026-06-16T04:57:29.7249164Z           ]
2026-06-16T04:57:29.7249270Z         },
2026-06-16T04:57:29.7249371Z         "int": {
2026-06-16T04:57:29.7249493Z           "complete": false,
2026-06-16T04:57:29.7249614Z           "evidence": []
2026-06-16T04:57:29.7249723Z         },
2026-06-16T04:57:29.7249823Z         "unit": {
2026-06-16T04:57:29.7249947Z           "complete": true,
2026-06-16T04:57:29.7250052Z           "evidence": [
2026-06-16T04:57:29.7250142Z             {
2026-06-16T04:57:29.7250310Z               "path": "crates/spt-daemon/src/rollback_compat.rs",
2026-06-16T04:57:29.7250414Z               "line": 95
2026-06-16T04:57:29.7250521Z             }
2026-06-16T04:57:29.7250625Z           ]
2026-06-16T04:57:29.7250724Z         }
2026-06-16T04:57:29.7250835Z       }
2026-06-16T04:57:29.7250930Z     },
2026-06-16T04:57:29.7251028Z     {
2026-06-16T04:57:29.7251162Z       "id": "REQ-HAZARD-SELF-ELEVATE",
2026-06-16T04:57:29.7253344Z       "title": "Self-elevation (REQ-ELEVATE-1) re-runs the EXACT original invocation with the binary's ABSOLUTE exe path — never widening privilege scope, never adding/altering args, never via a PATH-resolved bare name, never via a shell-interpolated command string (argv-array only, no `sh -c`); the elevated child drops state back to the user (composes with the 5.7 de-elevation) and NEVER re-elevates (loop-safe: decide_elevation_path returns AlreadyElevated whenever the process is already Elevated, on every OS). The user's UAC/polkit/sudo prompt is the only consent gate — we never bypass it; the print-hint floor prints the absolute-path command too. The unprivileged parent never depends on (pipes/captures) the privileged child's stdout.",
2026-06-16T04:57:29.7253473Z       "requiredStages": [
2026-06-16T04:57:29.7253577Z         "unit"
2026-06-16T04:57:29.7253678Z       ],
2026-06-16T04:57:29.7253784Z       "stages": {
2026-06-16T04:57:29.7253891Z         "doc": {
2026-06-16T04:57:29.7254010Z           "complete": false,
2026-06-16T04:57:29.7254119Z           "evidence": []
2026-06-16T04:57:29.7254217Z         },
2026-06-16T04:57:29.7254327Z         "impl": {
2026-06-16T04:57:29.7254437Z           "complete": true,
2026-06-16T04:57:29.7254541Z           "evidence": [
2026-06-16T04:57:29.7254641Z             {
2026-06-16T04:57:29.7254790Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7254908Z               "line": 3113
2026-06-16T04:57:29.7255019Z             },
2026-06-16T04:57:29.7255129Z             {
2026-06-16T04:57:29.7255247Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7255368Z               "line": 3165
2026-06-16T04:57:29.7255467Z             },
2026-06-16T04:57:29.7255576Z             {
2026-06-16T04:57:29.7255697Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7255815Z               "line": 3210
2026-06-16T04:57:29.7255925Z             },
2026-06-16T04:57:29.7256026Z             {
2026-06-16T04:57:29.7256168Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7256278Z               "line": 92
2026-06-16T04:57:29.7256387Z             },
2026-06-16T04:57:29.7256500Z             {
2026-06-16T04:57:29.7256639Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7256751Z               "line": 148
2026-06-16T04:57:29.7256951Z             },
2026-06-16T04:57:29.7257056Z             {
2026-06-16T04:57:29.7257285Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7257390Z               "line": 192
2026-06-16T04:57:29.7257499Z             },
2026-06-16T04:57:29.7257596Z             {
2026-06-16T04:57:29.7257738Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7257843Z               "line": 200
2026-06-16T04:57:29.7257943Z             },
2026-06-16T04:57:29.7258043Z             {
2026-06-16T04:57:29.7258182Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7258281Z               "line": 211
2026-06-16T04:57:29.7258386Z             },
2026-06-16T04:57:29.7258492Z             {
2026-06-16T04:57:29.7258624Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7258739Z               "line": 265
2026-06-16T04:57:29.7258845Z             },
2026-06-16T04:57:29.7259015Z             {
2026-06-16T04:57:29.7259150Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7259268Z               "line": 279
2026-06-16T04:57:29.7259386Z             }
2026-06-16T04:57:29.7259482Z           ]
2026-06-16T04:57:29.7259593Z         },
2026-06-16T04:57:29.7259696Z         "int": {
2026-06-16T04:57:29.7259807Z           "complete": false,
2026-06-16T04:57:29.7259921Z           "evidence": []
2026-06-16T04:57:29.7260073Z         },
2026-06-16T04:57:29.7260179Z         "unit": {
2026-06-16T04:57:29.7260293Z           "complete": true,
2026-06-16T04:57:29.7260403Z           "evidence": [
2026-06-16T04:57:29.7260503Z             {
2026-06-16T04:57:29.7260645Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7260751Z               "line": 419
2026-06-16T04:57:29.7260851Z             },
2026-06-16T04:57:29.7260955Z             {
2026-06-16T04:57:29.7261081Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7261199Z               "line": 470
2026-06-16T04:57:29.7261299Z             },
2026-06-16T04:57:29.7261400Z             {
2026-06-16T04:57:29.7261542Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7261651Z               "line": 499
2026-06-16T04:57:29.7261760Z             },
2026-06-16T04:57:29.7261863Z             {
2026-06-16T04:57:29.7262001Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7262112Z               "line": 526
2026-06-16T04:57:29.7262206Z             }
2026-06-16T04:57:29.7262311Z           ]
2026-06-16T04:57:29.7262417Z         }
2026-06-16T04:57:29.7262521Z       }
2026-06-16T04:57:29.7262620Z     },
2026-06-16T04:57:29.7262727Z     {
2026-06-16T04:57:29.7262850Z       "id": "REQ-HAZARD-SINGLE-PATH-SOURCE",
2026-06-16T04:57:29.7263060Z       "title": "Single path/registry source of truth; no layout ambiguity (6.1)",
2026-06-16T04:57:29.7263184Z       "requiredStages": [
2026-06-16T04:57:29.7263288Z         "impl",
2026-06-16T04:57:29.7263394Z         "unit"
2026-06-16T04:57:29.7263565Z       ],
2026-06-16T04:57:29.7263680Z       "stages": {
2026-06-16T04:57:29.7263788Z         "doc": {
2026-06-16T04:57:29.7263918Z           "complete": false,
2026-06-16T04:57:29.7264024Z           "evidence": []
2026-06-16T04:57:29.7264127Z         },
2026-06-16T04:57:29.7264238Z         "impl": {
2026-06-16T04:57:29.7264348Z           "complete": true,
2026-06-16T04:57:29.7264465Z           "evidence": [
2026-06-16T04:57:29.7264570Z             {
2026-06-16T04:57:29.7264731Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7264839Z               "line": 62
2026-06-16T04:57:29.7264944Z             },
2026-06-16T04:57:29.7265046Z             {
2026-06-16T04:57:29.7265201Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7265322Z               "line": 71
2026-06-16T04:57:29.7265426Z             },
2026-06-16T04:57:29.7265536Z             {
2026-06-16T04:57:29.7265694Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7265793Z               "line": 80
2026-06-16T04:57:29.7265993Z             },
2026-06-16T04:57:29.7266195Z             {
2026-06-16T04:57:29.7266341Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7266456Z               "line": 88
2026-06-16T04:57:29.7266552Z             },
2026-06-16T04:57:29.7266660Z             {
2026-06-16T04:57:29.7266800Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7266920Z               "line": 33
2026-06-16T04:57:29.7267022Z             },
2026-06-16T04:57:29.7267132Z             {
2026-06-16T04:57:29.7267269Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7267382Z               "line": 65
2026-06-16T04:57:29.7267492Z             },
2026-06-16T04:57:29.7267593Z             {
2026-06-16T04:57:29.7267735Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7267837Z               "line": 74
2026-06-16T04:57:29.7267950Z             },
2026-06-16T04:57:29.7268054Z             {
2026-06-16T04:57:29.7268198Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7268321Z               "line": 93
2026-06-16T04:57:29.7268427Z             },
2026-06-16T04:57:29.7268532Z             {
2026-06-16T04:57:29.7268660Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7268776Z               "line": 102
2026-06-16T04:57:29.7268879Z             },
2026-06-16T04:57:29.7276521Z             {
2026-06-16T04:57:29.7276716Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7276841Z               "line": 111
2026-06-16T04:57:29.7276945Z             },
2026-06-16T04:57:29.7277050Z             {
2026-06-16T04:57:29.7277197Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7277321Z               "line": 122
2026-06-16T04:57:29.7277427Z             },
2026-06-16T04:57:29.7277526Z             {
2026-06-16T04:57:29.7277677Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7277783Z               "line": 140
2026-06-16T04:57:29.7277890Z             },
2026-06-16T04:57:29.7277999Z             {
2026-06-16T04:57:29.7278144Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7278252Z               "line": 149
2026-06-16T04:57:29.7278358Z             },
2026-06-16T04:57:29.7278453Z             {
2026-06-16T04:57:29.7278595Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7278711Z               "line": 158
2026-06-16T04:57:29.7278816Z             },
2026-06-16T04:57:29.7278920Z             {
2026-06-16T04:57:29.7279149Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7279263Z               "line": 169
2026-06-16T04:57:29.7279379Z             },
2026-06-16T04:57:29.7279479Z             {
2026-06-16T04:57:29.7279622Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7279722Z               "line": 177
2026-06-16T04:57:29.7279826Z             },
2026-06-16T04:57:29.7279922Z             {
2026-06-16T04:57:29.7280069Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7280188Z               "line": 186
2026-06-16T04:57:29.7280295Z             },
2026-06-16T04:57:29.7280398Z             {
2026-06-16T04:57:29.7280530Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7280636Z               "line": 195
2026-06-16T04:57:29.7280745Z             },
2026-06-16T04:57:29.7280850Z             {
2026-06-16T04:57:29.7280984Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7281093Z               "line": 204
2026-06-16T04:57:29.7281198Z             },
2026-06-16T04:57:29.7281299Z             {
2026-06-16T04:57:29.7281455Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7281561Z               "line": 216
2026-06-16T04:57:29.7281666Z             },
2026-06-16T04:57:29.7281780Z             {
2026-06-16T04:57:29.7281924Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7282028Z               "line": 223
2026-06-16T04:57:29.7282133Z             },
2026-06-16T04:57:29.7282409Z             {
2026-06-16T04:57:29.7282642Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7282771Z               "line": 232
2026-06-16T04:57:29.7282881Z             },
2026-06-16T04:57:29.7282983Z             {
2026-06-16T04:57:29.7283111Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7283217Z               "line": 239
2026-06-16T04:57:29.7283326Z             },
2026-06-16T04:57:29.7283441Z             {
2026-06-16T04:57:29.7283575Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7283679Z               "line": 306
2026-06-16T04:57:29.7283779Z             },
2026-06-16T04:57:29.7283880Z             {
2026-06-16T04:57:29.7284013Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7284133Z               "line": 318
2026-06-16T04:57:29.7284242Z             },
2026-06-16T04:57:29.7284347Z             {
2026-06-16T04:57:29.7284486Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7284600Z               "line": 405
2026-06-16T04:57:29.7284704Z             }
2026-06-16T04:57:29.7284810Z           ]
2026-06-16T04:57:29.7284923Z         },
2026-06-16T04:57:29.7285024Z         "int": {
2026-06-16T04:57:29.7285139Z           "complete": false,
2026-06-16T04:57:29.7285252Z           "evidence": []
2026-06-16T04:57:29.7285344Z         },
2026-06-16T04:57:29.7285449Z         "unit": {
2026-06-16T04:57:29.7285562Z           "complete": true,
2026-06-16T04:57:29.7285681Z           "evidence": [
2026-06-16T04:57:29.7285785Z             {
2026-06-16T04:57:29.7285921Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7286041Z               "line": 487
2026-06-16T04:57:29.7286141Z             },
2026-06-16T04:57:29.7286322Z             {
2026-06-16T04:57:29.7286461Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7286584Z               "line": 528
2026-06-16T04:57:29.7286686Z             },
2026-06-16T04:57:29.7286790Z             {
2026-06-16T04:57:29.7286932Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7287052Z               "line": 541
2026-06-16T04:57:29.7287152Z             },
2026-06-16T04:57:29.7287257Z             {
2026-06-16T04:57:29.7287396Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7287505Z               "line": 627
2026-06-16T04:57:29.7287605Z             }
2026-06-16T04:57:29.7287711Z           ]
2026-06-16T04:57:29.7287814Z         }
2026-06-16T04:57:29.7287915Z       }
2026-06-16T04:57:29.7288021Z     },
2026-06-16T04:57:29.7288119Z     {
2026-06-16T04:57:29.7288252Z       "id": "REQ-HAZARD-SOFT-CLEANUP",
2026-06-16T04:57:29.7288464Z       "title": "Soft-cleanup preserves state, removes only the ready marker (6.2)",
2026-06-16T04:57:29.7288594Z       "requiredStages": [
2026-06-16T04:57:29.7288704Z         "impl",
2026-06-16T04:57:29.7288807Z         "unit"
2026-06-16T04:57:29.7288913Z       ],
2026-06-16T04:57:29.7289099Z       "stages": {
2026-06-16T04:57:29.7289208Z         "doc": {
2026-06-16T04:57:29.7289333Z           "complete": false,
2026-06-16T04:57:29.7289451Z           "evidence": []
2026-06-16T04:57:29.7289553Z         },
2026-06-16T04:57:29.7289662Z         "impl": {
2026-06-16T04:57:29.7289766Z           "complete": true,
2026-06-16T04:57:29.7289882Z           "evidence": [
2026-06-16T04:57:29.7289981Z             {
2026-06-16T04:57:29.7290119Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7290230Z               "line": 152
2026-06-16T04:57:29.7290333Z             },
2026-06-16T04:57:29.7290443Z             {
2026-06-16T04:57:29.7290592Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7290706Z               "line": 167
2026-06-16T04:57:29.7290807Z             }
2026-06-16T04:57:29.7290912Z           ]
2026-06-16T04:57:29.7291019Z         },
2026-06-16T04:57:29.7291119Z         "int": {
2026-06-16T04:57:29.7291234Z           "complete": false,
2026-06-16T04:57:29.7291339Z           "evidence": []
2026-06-16T04:57:29.7291544Z         },
2026-06-16T04:57:29.7291748Z         "unit": {
2026-06-16T04:57:29.7291850Z           "complete": true,
2026-06-16T04:57:29.7291954Z           "evidence": [
2026-06-16T04:57:29.7292059Z             {
2026-06-16T04:57:29.7292202Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7292306Z               "line": 274
2026-06-16T04:57:29.7292407Z             },
2026-06-16T04:57:29.7292508Z             {
2026-06-16T04:57:29.7292650Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7292766Z               "line": 832
2026-06-16T04:57:29.7292860Z             },
2026-06-16T04:57:29.7292960Z             {
2026-06-16T04:57:29.7293105Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7293217Z               "line": 845
2026-06-16T04:57:29.7293321Z             }
2026-06-16T04:57:29.7293426Z           ]
2026-06-16T04:57:29.7293534Z         }
2026-06-16T04:57:29.7293633Z       }
2026-06-16T04:57:29.7293744Z     },
2026-06-16T04:57:29.7293844Z     {
2026-06-16T04:57:29.7293991Z       "id": "REQ-HAZARD-STALE-INDEX-LOCK",
2026-06-16T04:57:29.7294159Z       "title": "Sweep stale lockfiles on daemon boot (1.3)",
2026-06-16T04:57:29.7294263Z       "requiredStages": [
2026-06-16T04:57:29.7294374Z         "impl",
2026-06-16T04:57:29.7294478Z         "unit"
2026-06-16T04:57:29.7294587Z       ],
2026-06-16T04:57:29.7294693Z       "stages": {
2026-06-16T04:57:29.7294807Z         "doc": {
2026-06-16T04:57:29.7294916Z           "complete": false,
2026-06-16T04:57:29.7295018Z           "evidence": []
2026-06-16T04:57:29.7295121Z         },
2026-06-16T04:57:29.7295226Z         "impl": {
2026-06-16T04:57:29.7295347Z           "complete": true,
2026-06-16T04:57:29.7295455Z           "evidence": [
2026-06-16T04:57:29.7295560Z             {
2026-06-16T04:57:29.7295709Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.7295813Z               "line": 116
2026-06-16T04:57:29.7295919Z             },
2026-06-16T04:57:29.7296028Z             {
2026-06-16T04:57:29.7296193Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7296298Z               "line": 481
2026-06-16T04:57:29.7296406Z             }
2026-06-16T04:57:29.7296514Z           ]
2026-06-16T04:57:29.7296616Z         },
2026-06-16T04:57:29.7296726Z         "int": {
2026-06-16T04:57:29.7296843Z           "complete": false,
2026-06-16T04:57:29.7296964Z           "evidence": []
2026-06-16T04:57:29.7297064Z         },
2026-06-16T04:57:29.7297177Z         "unit": {
2026-06-16T04:57:29.7297298Z           "complete": true,
2026-06-16T04:57:29.7297407Z           "evidence": [
2026-06-16T04:57:29.7297512Z             {
2026-06-16T04:57:29.7297660Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7297774Z               "line": 515
2026-06-16T04:57:29.7297865Z             }
2026-06-16T04:57:29.7297975Z           ]
2026-06-16T04:57:29.7298084Z         }
2026-06-16T04:57:29.7298185Z       }
2026-06-16T04:57:29.7298294Z     },
2026-06-16T04:57:29.7298404Z     {
2026-06-16T04:57:29.7298552Z       "id": "REQ-HAZARD-STALE-SIGNOFF-SENTINEL",
2026-06-16T04:57:29.7298741Z       "title": "Stale signoff sentinel does not kill a fresh start (3.2)",
2026-06-16T04:57:29.7298856Z       "requiredStages": [
2026-06-16T04:57:29.7299039Z         "impl",
2026-06-16T04:57:29.7299144Z         "unit"
2026-06-16T04:57:29.7299245Z       ],
2026-06-16T04:57:29.7299349Z       "stages": {
2026-06-16T04:57:29.7299453Z         "doc": {
2026-06-16T04:57:29.7299574Z           "complete": false,
2026-06-16T04:57:29.7299687Z           "evidence": []
2026-06-16T04:57:29.7299793Z         },
2026-06-16T04:57:29.7299898Z         "impl": {
2026-06-16T04:57:29.7300016Z           "complete": true,
2026-06-16T04:57:29.7300127Z           "evidence": [
2026-06-16T04:57:29.7300236Z             {
2026-06-16T04:57:29.7300384Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7300494Z               "line": 502
2026-06-16T04:57:29.7300698Z             },
2026-06-16T04:57:29.7300889Z             {
2026-06-16T04:57:29.7301037Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.7301143Z               "line": 28
2026-06-16T04:57:29.7301246Z             }
2026-06-16T04:57:29.7301352Z           ]
2026-06-16T04:57:29.7301458Z         },
2026-06-16T04:57:29.7301561Z         "int": {
2026-06-16T04:57:29.7301669Z           "complete": false,
2026-06-16T04:57:29.7301785Z           "evidence": []
2026-06-16T04:57:29.7301885Z         },
2026-06-16T04:57:29.7301989Z         "unit": {
2026-06-16T04:57:29.7302105Z           "complete": true,
2026-06-16T04:57:29.7302218Z           "evidence": [
2026-06-16T04:57:29.7302318Z             {
2026-06-16T04:57:29.7302448Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.7302556Z               "line": 229
2026-06-16T04:57:29.7302662Z             }
2026-06-16T04:57:29.7302767Z           ]
2026-06-16T04:57:29.7302871Z         }
2026-06-16T04:57:29.7302982Z       }
2026-06-16T04:57:29.7303087Z     },
2026-06-16T04:57:29.7303186Z     {
2026-06-16T04:57:29.7303321Z       "id": "REQ-HAZARD-STDIN-SESSION-ID",
2026-06-16T04:57:29.7303481Z       "title": "Stdin session_id precedence over env (2.2)",
2026-06-16T04:57:29.7303601Z       "requiredStages": [],
2026-06-16T04:57:29.7303707Z       "stages": {
2026-06-16T04:57:29.7303820Z         "doc": {
2026-06-16T04:57:29.7303939Z           "complete": false,
2026-06-16T04:57:29.7304048Z           "evidence": []
2026-06-16T04:57:29.7304161Z         },
2026-06-16T04:57:29.7304270Z         "impl": {
2026-06-16T04:57:29.7304386Z           "complete": false,
2026-06-16T04:57:29.7304489Z           "evidence": []
2026-06-16T04:57:29.7304599Z         },
2026-06-16T04:57:29.7304709Z         "int": {
2026-06-16T04:57:29.7304823Z           "complete": false,
2026-06-16T04:57:29.7304934Z           "evidence": []
2026-06-16T04:57:29.7305029Z         },
2026-06-16T04:57:29.7305138Z         "unit": {
2026-06-16T04:57:29.7305253Z           "complete": false,
2026-06-16T04:57:29.7305377Z           "evidence": []
2026-06-16T04:57:29.7305481Z         }
2026-06-16T04:57:29.7305587Z       }
2026-06-16T04:57:29.7305696Z     },
2026-06-16T04:57:29.7305796Z     {
2026-06-16T04:57:29.7305945Z       "id": "REQ-HAZARD-SUBPROCESS-TIMEOUT",
2026-06-16T04:57:29.7306120Z       "title": "Every harness/git subprocess has a timeout (5.3)",
2026-06-16T04:57:29.7306246Z       "requiredStages": [
2026-06-16T04:57:29.7306363Z         "impl",
2026-06-16T04:57:29.7306469Z         "unit"
2026-06-16T04:57:29.7306584Z       ],
2026-06-16T04:57:29.7306682Z       "stages": {
2026-06-16T04:57:29.7306777Z         "doc": {
2026-06-16T04:57:29.7306882Z           "complete": false,
2026-06-16T04:57:29.7307004Z           "evidence": []
2026-06-16T04:57:29.7307108Z         },
2026-06-16T04:57:29.7307214Z         "impl": {
2026-06-16T04:57:29.7307333Z           "complete": true,
2026-06-16T04:57:29.7307433Z           "evidence": [
2026-06-16T04:57:29.7307538Z             {
2026-06-16T04:57:29.7307681Z               "path": "crates/spt-live/src/turn.rs",
2026-06-16T04:57:29.7307801Z               "line": 19
2026-06-16T04:57:29.7307905Z             },
2026-06-16T04:57:29.7308010Z             {
2026-06-16T04:57:29.7308163Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.7308277Z               "line": 347
2026-06-16T04:57:29.7308372Z             },
2026-06-16T04:57:29.7308474Z             {
2026-06-16T04:57:29.7308625Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.7308745Z               "line": 383
2026-06-16T04:57:29.7308850Z             },
2026-06-16T04:57:29.7309036Z             {
2026-06-16T04:57:29.7309179Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.7309282Z               "line": 15
2026-06-16T04:57:29.7309377Z             },
2026-06-16T04:57:29.7309486Z             {
2026-06-16T04:57:29.7309646Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.7309909Z               "line": 48
2026-06-16T04:57:29.7310096Z             },
2026-06-16T04:57:29.7310200Z             {
2026-06-16T04:57:29.7310348Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.7310468Z               "line": 119
2026-06-16T04:57:29.7310567Z             },
2026-06-16T04:57:29.7310668Z             {
2026-06-16T04:57:29.7310810Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7310915Z               "line": 3541
2026-06-16T04:57:29.7311026Z             }
2026-06-16T04:57:29.7311130Z           ]
2026-06-16T04:57:29.7311234Z         },
2026-06-16T04:57:29.7311336Z         "int": {
2026-06-16T04:57:29.7311445Z           "complete": false,
2026-06-16T04:57:29.7311563Z           "evidence": []
2026-06-16T04:57:29.7311651Z         },
2026-06-16T04:57:29.7311759Z         "unit": {
2026-06-16T04:57:29.7311878Z           "complete": true,
2026-06-16T04:57:29.7311980Z           "evidence": [
2026-06-16T04:57:29.7312088Z             {
2026-06-16T04:57:29.7312239Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.7312369Z               "line": 496
2026-06-16T04:57:29.7312464Z             },
2026-06-16T04:57:29.7312563Z             {
2026-06-16T04:57:29.7312712Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.7312821Z               "line": 165
2026-06-16T04:57:29.7312932Z             },
2026-06-16T04:57:29.7313027Z             {
2026-06-16T04:57:29.7313169Z               "path": "crates/spt-store/src/gitrun.rs",
2026-06-16T04:57:29.7313275Z               "line": 175
2026-06-16T04:57:29.7313379Z             }
2026-06-16T04:57:29.7313489Z           ]
2026-06-16T04:57:29.7313595Z         }
2026-06-16T04:57:29.7313694Z       }
2026-06-16T04:57:29.7313794Z     },
2026-06-16T04:57:29.7313900Z     {
2026-06-16T04:57:29.7314041Z       "id": "REQ-HAZARD-SUDO-SECURE-PATH",
2026-06-16T04:57:29.7315035Z       "title": "Elevation guidance on Unix names the binary's ABSOLUTE path under sudo (a user-local install ~/.local/bin · ~/.cargo/bin is not on sudo's secure_path, so bare `sudo spt` dies 'command not found'); gated commands auto-elevate on an interactive TTY, else print the runnable hint (5.10)",
2026-06-16T04:57:29.7315174Z       "requiredStages": [
2026-06-16T04:57:29.7315269Z         "impl",
2026-06-16T04:57:29.7315369Z         "unit"
2026-06-16T04:57:29.7315474Z       ],
2026-06-16T04:57:29.7315579Z       "stages": {
2026-06-16T04:57:29.7315683Z         "doc": {
2026-06-16T04:57:29.7315799Z           "complete": false,
2026-06-16T04:57:29.7315918Z           "evidence": []
2026-06-16T04:57:29.7316022Z         },
2026-06-16T04:57:29.7316128Z         "impl": {
2026-06-16T04:57:29.7316232Z           "complete": true,
2026-06-16T04:57:29.7316342Z           "evidence": [
2026-06-16T04:57:29.7316453Z             {
2026-06-16T04:57:29.7316594Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7316709Z               "line": 192
2026-06-16T04:57:29.7316815Z             },
2026-06-16T04:57:29.7316918Z             {
2026-06-16T04:57:29.7317063Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7317186Z               "line": 279
2026-06-16T04:57:29.7317290Z             }
2026-06-16T04:57:29.7317390Z           ]
2026-06-16T04:57:29.7317499Z         },
2026-06-16T04:57:29.7317602Z         "int": {
2026-06-16T04:57:29.7317726Z           "complete": false,
2026-06-16T04:57:29.7317832Z           "evidence": []
2026-06-16T04:57:29.7317936Z         },
2026-06-16T04:57:29.7318036Z         "unit": {
2026-06-16T04:57:29.7318141Z           "complete": true,
2026-06-16T04:57:29.7318245Z           "evidence": [
2026-06-16T04:57:29.7318351Z             {
2026-06-16T04:57:29.7318494Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7318598Z               "line": 470
2026-06-16T04:57:29.7318709Z             },
2026-06-16T04:57:29.7318813Z             {
2026-06-16T04:57:29.7319029Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.7319147Z               "line": 526
2026-06-16T04:57:29.7319367Z             }
2026-06-16T04:57:29.7319571Z           ]
2026-06-16T04:57:29.7319673Z         }
2026-06-16T04:57:29.7319776Z       }
2026-06-16T04:57:29.7319880Z     },
2026-06-16T04:57:29.7319985Z     {
2026-06-16T04:57:29.7320112Z       "id": "REQ-HAZARD-UNC-PATH-STRIP",
2026-06-16T04:57:29.7320293Z       "title": "Strip Windows UNC prefix on serialized paths (5.4)",
2026-06-16T04:57:29.7320422Z       "requiredStages": [
2026-06-16T04:57:29.7320521Z         "impl",
2026-06-16T04:57:29.7320627Z         "unit"
2026-06-16T04:57:29.7320737Z       ],
2026-06-16T04:57:29.7320840Z       "stages": {
2026-06-16T04:57:29.7320947Z         "doc": {
2026-06-16T04:57:29.7321051Z           "complete": false,
2026-06-16T04:57:29.7321174Z           "evidence": []
2026-06-16T04:57:29.7321276Z         },
2026-06-16T04:57:29.7321385Z         "impl": {
2026-06-16T04:57:29.7321509Z           "complete": true,
2026-06-16T04:57:29.7321610Z           "evidence": [
2026-06-16T04:57:29.7321714Z             {
2026-06-16T04:57:29.7321857Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.7321971Z               "line": 35
2026-06-16T04:57:29.7322076Z             }
2026-06-16T04:57:29.7322182Z           ]
2026-06-16T04:57:29.7322286Z         },
2026-06-16T04:57:29.7322391Z         "int": {
2026-06-16T04:57:29.7322506Z           "complete": false,
2026-06-16T04:57:29.7322611Z           "evidence": []
2026-06-16T04:57:29.7322714Z         },
2026-06-16T04:57:29.7322823Z         "unit": {
2026-06-16T04:57:29.7322939Z           "complete": true,
2026-06-16T04:57:29.7323047Z           "evidence": [
2026-06-16T04:57:29.7323148Z             {
2026-06-16T04:57:29.7323292Z               "path": "crates/spt-store/src/atomic.rs",
2026-06-16T04:57:29.7323400Z               "line": 220
2026-06-16T04:57:29.7323501Z             }
2026-06-16T04:57:29.7323606Z           ]
2026-06-16T04:57:29.7323705Z         }
2026-06-16T04:57:29.7323812Z       }
2026-06-16T04:57:29.7323916Z     },
2026-06-16T04:57:29.7324029Z     {
2026-06-16T04:57:29.7324155Z       "id": "REQ-HAZARD-UPDATE-ROLLBACK",
2026-06-16T04:57:29.7324455Z       "title": "Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)",
2026-06-16T04:57:29.7324569Z       "requiredStages": [
2026-06-16T04:57:29.7324683Z         "impl",
2026-06-16T04:57:29.7324785Z         "unit"
2026-06-16T04:57:29.7324879Z       ],
2026-06-16T04:57:29.7324992Z       "stages": {
2026-06-16T04:57:29.7325092Z         "doc": {
2026-06-16T04:57:29.7325215Z           "complete": false,
2026-06-16T04:57:29.7325319Z           "evidence": []
2026-06-16T04:57:29.7325424Z         },
2026-06-16T04:57:29.7325535Z         "impl": {
2026-06-16T04:57:29.7325643Z           "complete": true,
2026-06-16T04:57:29.7325748Z           "evidence": [
2026-06-16T04:57:29.7325844Z             {
2026-06-16T04:57:29.7326005Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.7326116Z               "line": 405
2026-06-16T04:57:29.7326229Z             },
2026-06-16T04:57:29.7326340Z             {
2026-06-16T04:57:29.7326487Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.7326596Z               "line": 409
2026-06-16T04:57:29.7326698Z             },
2026-06-16T04:57:29.7326801Z             {
2026-06-16T04:57:29.7326945Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.7327061Z               "line": 156
2026-06-16T04:57:29.7327169Z             }
2026-06-16T04:57:29.7327274Z           ]
2026-06-16T04:57:29.7327380Z         },
2026-06-16T04:57:29.7327483Z         "int": {
2026-06-16T04:57:29.7327609Z           "complete": false,
2026-06-16T04:57:29.7327714Z           "evidence": []
2026-06-16T04:57:29.7327821Z         },
2026-06-16T04:57:29.7327921Z         "unit": {
2026-06-16T04:57:29.7328026Z           "complete": true,
2026-06-16T04:57:29.7328133Z           "evidence": [
2026-06-16T04:57:29.7328233Z             {
2026-06-16T04:57:29.7328382Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.7328572Z               "line": 812
2026-06-16T04:57:29.7328735Z             },
2026-06-16T04:57:29.7328839Z             {
2026-06-16T04:57:29.7329059Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.7329168Z               "line": 826
2026-06-16T04:57:29.7329274Z             },
2026-06-16T04:57:29.7329383Z             {
2026-06-16T04:57:29.7329521Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.7329632Z               "line": 845
2026-06-16T04:57:29.7329736Z             },
2026-06-16T04:57:29.7329836Z             {
2026-06-16T04:57:29.7329984Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.7330084Z               "line": 862
2026-06-16T04:57:29.7330185Z             },
2026-06-16T04:57:29.7330289Z             {
2026-06-16T04:57:29.7330435Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.7330555Z               "line": 441
2026-06-16T04:57:29.7330653Z             }
2026-06-16T04:57:29.7330752Z           ]
2026-06-16T04:57:29.7330858Z         }
2026-06-16T04:57:29.7330973Z       }
2026-06-16T04:57:29.7331077Z     },
2026-06-16T04:57:29.7331188Z     {
2026-06-16T04:57:29.7331325Z       "id": "REQ-HAZARD-VIEWER-ISOLATION",
2026-06-16T04:57:29.7333532Z       "title": "A slow / dead / hostile VIEWER must NEVER stall the controller, the PTY child, or the session drain thread. The broker drain fans output to the controller on the authoritative blocking bounded path (advances delivered_through) but to each viewer via a bounded per-viewer channel with a dedicated writer thread; the drain `try_send`s under the log lock and a viewer whose bounded queue OVERFLOWS (can't keep up) is EVICTED (queue dropped, writer thread ends, removed from the viewers map) — the drain thread NEVER touches a viewer socket, so no viewer write can backpressure or block it. A soft viewer cap bounds the thread count. Viewer eviction never perturbs the controller stream, the delivered_through cursor, or the child.",
2026-06-16T04:57:29.7333655Z       "requiredStages": [
2026-06-16T04:57:29.7333776Z         "unit",
2026-06-16T04:57:29.7333880Z         "int"
2026-06-16T04:57:29.7333984Z       ],
2026-06-16T04:57:29.7334090Z       "stages": {
2026-06-16T04:57:29.7334195Z         "doc": {
2026-06-16T04:57:29.7334319Z           "complete": true,
2026-06-16T04:57:29.7334419Z           "evidence": [
2026-06-16T04:57:29.7334529Z             {
2026-06-16T04:57:29.7334652Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7334767Z               "line": 374
2026-06-16T04:57:29.7334867Z             }
2026-06-16T04:57:29.7334972Z           ]
2026-06-16T04:57:29.7335068Z         },
2026-06-16T04:57:29.7335176Z         "impl": {
2026-06-16T04:57:29.7335296Z           "complete": true,
2026-06-16T04:57:29.7335406Z           "evidence": [
2026-06-16T04:57:29.7335509Z             {
2026-06-16T04:57:29.7335653Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7335775Z               "line": 97
2026-06-16T04:57:29.7335883Z             }
2026-06-16T04:57:29.7335989Z           ]
2026-06-16T04:57:29.7336090Z         },
2026-06-16T04:57:29.7336198Z         "int": {
2026-06-16T04:57:29.7336308Z           "complete": true,
2026-06-16T04:57:29.7336423Z           "evidence": [
2026-06-16T04:57:29.7336532Z             {
2026-06-16T04:57:29.7336686Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7336799Z               "line": 918
2026-06-16T04:57:29.7336910Z             }
2026-06-16T04:57:29.7337010Z           ]
2026-06-16T04:57:29.7337110Z         },
2026-06-16T04:57:29.7337204Z         "unit": {
2026-06-16T04:57:29.7337324Z           "complete": true,
2026-06-16T04:57:29.7337443Z           "evidence": [
2026-06-16T04:57:29.7337544Z             {
2026-06-16T04:57:29.7337691Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.7337800Z               "line": 1459
2026-06-16T04:57:29.7337907Z             }
2026-06-16T04:57:29.7338010Z           ]
2026-06-16T04:57:29.7338241Z         }
2026-06-16T04:57:29.7338443Z       }
2026-06-16T04:57:29.7338538Z     },
2026-06-16T04:57:29.7338642Z     {
2026-06-16T04:57:29.7338775Z       "id": "REQ-HAZARD-WAN-ORIGIN-AUTH",
2026-06-16T04:57:29.7339704Z       "title": "WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)",
2026-06-16T04:57:29.7339829Z       "requiredStages": [
2026-06-16T04:57:29.7339928Z         "doc",
2026-06-16T04:57:29.7340043Z         "impl",
2026-06-16T04:57:29.7340140Z         "unit"
2026-06-16T04:57:29.7340243Z       ],
2026-06-16T04:57:29.7340353Z       "stages": {
2026-06-16T04:57:29.7340459Z         "doc": {
2026-06-16T04:57:29.7340572Z           "complete": true,
2026-06-16T04:57:29.7340687Z           "evidence": [
2026-06-16T04:57:29.7340784Z             {
2026-06-16T04:57:29.7340920Z               "path": "docs/KNOWN-HAZARDS.md",
2026-06-16T04:57:29.7341043Z               "line": 359
2026-06-16T04:57:29.7341144Z             }
2026-06-16T04:57:29.7341256Z           ]
2026-06-16T04:57:29.7341345Z         },
2026-06-16T04:57:29.7341461Z         "impl": {
2026-06-16T04:57:29.7341575Z           "complete": true,
2026-06-16T04:57:29.7341675Z           "evidence": [
2026-06-16T04:57:29.7341790Z             {
2026-06-16T04:57:29.7341932Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.7342048Z               "line": 87
2026-06-16T04:57:29.7342157Z             },
2026-06-16T04:57:29.7342252Z             {
2026-06-16T04:57:29.7342415Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.7342524Z               "line": 105
2026-06-16T04:57:29.7342629Z             },
2026-06-16T04:57:29.7342726Z             {
2026-06-16T04:57:29.7342872Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7342992Z               "line": 55
2026-06-16T04:57:29.7343101Z             },
2026-06-16T04:57:29.7343215Z             {
2026-06-16T04:57:29.7343355Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.7343468Z               "line": 31
2026-06-16T04:57:29.7343573Z             },
2026-06-16T04:57:29.7343675Z             {
2026-06-16T04:57:29.7343825Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.7343930Z               "line": 446
2026-06-16T04:57:29.7344026Z             },
2026-06-16T04:57:29.7344130Z             {
2026-06-16T04:57:29.7344278Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7344383Z               "line": 95
2026-06-16T04:57:29.7344497Z             },
2026-06-16T04:57:29.7344588Z             {
2026-06-16T04:57:29.7344736Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.7344854Z               "line": 29
2026-06-16T04:57:29.7344956Z             },
2026-06-16T04:57:29.7345065Z             {
2026-06-16T04:57:29.7345203Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.7345327Z               "line": 104
2026-06-16T04:57:29.7345418Z             },
2026-06-16T04:57:29.7345513Z             {
2026-06-16T04:57:29.7345675Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7345775Z               "line": 208
2026-06-16T04:57:29.7345881Z             },
2026-06-16T04:57:29.7345981Z             {
2026-06-16T04:57:29.7346127Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T04:57:29.7346232Z               "line": 28
2026-06-16T04:57:29.7346340Z             },
2026-06-16T04:57:29.7346443Z             {
2026-06-16T04:57:29.7346588Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T04:57:29.7346687Z               "line": 74
2026-06-16T04:57:29.7346787Z             },
2026-06-16T04:57:29.7346893Z             {
2026-06-16T04:57:29.7347049Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.7347269Z               "line": 32
2026-06-16T04:57:29.7347485Z             },
2026-06-16T04:57:29.7347584Z             {
2026-06-16T04:57:29.7347731Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7347832Z               "line": 40
2026-06-16T04:57:29.7347936Z             },
2026-06-16T04:57:29.7348036Z             {
2026-06-16T04:57:29.7348176Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7348279Z               "line": 184
2026-06-16T04:57:29.7348385Z             },
2026-06-16T04:57:29.7348490Z             {
2026-06-16T04:57:29.7348628Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7348738Z               "line": 61
2026-06-16T04:57:29.7348834Z             },
2026-06-16T04:57:29.7348932Z             {
2026-06-16T04:57:29.7349137Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7349240Z               "line": 131
2026-06-16T04:57:29.7349344Z             },
2026-06-16T04:57:29.7349450Z             {
2026-06-16T04:57:29.7349592Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.7349722Z               "line": 223
2026-06-16T04:57:29.7349821Z             },
2026-06-16T04:57:29.7349926Z             {
2026-06-16T04:57:29.7350070Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T04:57:29.7350170Z               "line": 37
2026-06-16T04:57:29.7350269Z             },
2026-06-16T04:57:29.7350366Z             {
2026-06-16T04:57:29.7350508Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.7350608Z               "line": 38
2026-06-16T04:57:29.7350714Z             },
2026-06-16T04:57:29.7350817Z             {
2026-06-16T04:57:29.7350966Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7351086Z               "line": 36
2026-06-16T04:57:29.7351185Z             },
2026-06-16T04:57:29.7351291Z             {
2026-06-16T04:57:29.7351419Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T04:57:29.7351523Z               "line": 40
2026-06-16T04:57:29.7351632Z             }
2026-06-16T04:57:29.7351737Z           ]
2026-06-16T04:57:29.7351844Z         },
2026-06-16T04:57:29.7351950Z         "int": {
2026-06-16T04:57:29.7352065Z           "complete": false,
2026-06-16T04:57:29.7352173Z           "evidence": []
2026-06-16T04:57:29.7352279Z         },
2026-06-16T04:57:29.7352383Z         "unit": {
2026-06-16T04:57:29.7352502Z           "complete": true,
2026-06-16T04:57:29.7352608Z           "evidence": [
2026-06-16T04:57:29.7352717Z             {
2026-06-16T04:57:29.7352874Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7352980Z               "line": 212
2026-06-16T04:57:29.7353094Z             },
2026-06-16T04:57:29.7353193Z             {
2026-06-16T04:57:29.7353351Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-16T04:57:29.7353465Z               "line": 136
2026-06-16T04:57:29.7353572Z             },
2026-06-16T04:57:29.7353680Z             {
2026-06-16T04:57:29.7353828Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.7353958Z               "line": 685
2026-06-16T04:57:29.7354062Z             },
2026-06-16T04:57:29.7354163Z             {
2026-06-16T04:57:29.7354314Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.7354428Z               "line": 224
2026-06-16T04:57:29.7354533Z             },
2026-06-16T04:57:29.7354629Z             {
2026-06-16T04:57:29.7354775Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T04:57:29.7354872Z               "line": 206
2026-06-16T04:57:29.7354977Z             },
2026-06-16T04:57:29.7355081Z             {
2026-06-16T04:57:29.7355220Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7355324Z               "line": 112
2026-06-16T04:57:29.7355419Z             },
2026-06-16T04:57:29.7355525Z             {
2026-06-16T04:57:29.7355667Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T04:57:29.7355778Z               "line": 157
2026-06-16T04:57:29.7355992Z             },
2026-06-16T04:57:29.7356183Z             {
2026-06-16T04:57:29.7356340Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.7356446Z               "line": 215
2026-06-16T04:57:29.7356545Z             },
2026-06-16T04:57:29.7363735Z             {
2026-06-16T04:57:29.7363935Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7364050Z               "line": 141
2026-06-16T04:57:29.7364160Z             },
2026-06-16T04:57:29.7364268Z             {
2026-06-16T04:57:29.7364423Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T04:57:29.7364523Z               "line": 162
2026-06-16T04:57:29.7364632Z             }
2026-06-16T04:57:29.7364733Z           ]
2026-06-16T04:57:29.7364838Z         }
2026-06-16T04:57:29.7364940Z       }
2026-06-16T04:57:29.7365030Z     },
2026-06-16T04:57:29.7365132Z     {
2026-06-16T04:57:29.7365274Z       "id": "REQ-HAZARD-WINDOWS-PID-RECYCLE",
2026-06-16T04:57:29.7365480Z       "title": "Windows PID-recycling false positives guarded (5.1)",
2026-06-16T04:57:29.7365603Z       "requiredStages": [
2026-06-16T04:57:29.7365708Z         "impl",
2026-06-16T04:57:29.7365813Z         "unit"
2026-06-16T04:57:29.7365917Z       ],
2026-06-16T04:57:29.7366023Z       "stages": {
2026-06-16T04:57:29.7366128Z         "doc": {
2026-06-16T04:57:29.7366256Z           "complete": false,
2026-06-16T04:57:29.7366367Z           "evidence": []
2026-06-16T04:57:29.7366475Z         },
2026-06-16T04:57:29.7366590Z         "impl": {
2026-06-16T04:57:29.7366706Z           "complete": true,
2026-06-16T04:57:29.7366828Z           "evidence": [
2026-06-16T04:57:29.7366938Z             {
2026-06-16T04:57:29.7367086Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7367190Z               "line": 95
2026-06-16T04:57:29.7367299Z             },
2026-06-16T04:57:29.7367404Z             {
2026-06-16T04:57:29.7367540Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7367655Z               "line": 94
2026-06-16T04:57:29.7367765Z             }
2026-06-16T04:57:29.7367874Z           ]
2026-06-16T04:57:29.7367979Z         },
2026-06-16T04:57:29.7368094Z         "int": {
2026-06-16T04:57:29.7368217Z           "complete": false,
2026-06-16T04:57:29.7368323Z           "evidence": []
2026-06-16T04:57:29.7368437Z         },
2026-06-16T04:57:29.7368527Z         "unit": {
2026-06-16T04:57:29.7368643Z           "complete": true,
2026-06-16T04:57:29.7368752Z           "evidence": [
2026-06-16T04:57:29.7368861Z             {
2026-06-16T04:57:29.7369085Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7369195Z               "line": 250
2026-06-16T04:57:29.7369301Z             },
2026-06-16T04:57:29.7369405Z             {
2026-06-16T04:57:29.7369549Z               "path": "crates/spt-store/src/proc.rs",
2026-06-16T04:57:29.7369662Z               "line": 198
2026-06-16T04:57:29.7369763Z             },
2026-06-16T04:57:29.7369868Z             {
2026-06-16T04:57:29.7370010Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7370128Z               "line": 487
2026-06-16T04:57:29.7370229Z             },
2026-06-16T04:57:29.7370336Z             {
2026-06-16T04:57:29.7370479Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7370594Z               "line": 520
2026-06-16T04:57:29.7370703Z             }
2026-06-16T04:57:29.7370808Z           ]
2026-06-16T04:57:29.7370919Z         }
2026-06-16T04:57:29.7371013Z       }
2026-06-16T04:57:29.7371118Z     },
2026-06-16T04:57:29.7371214Z     {
2026-06-16T04:57:29.7371347Z       "id": "REQ-HAZARD-WORKER-PATH",
2026-06-16T04:57:29.7371562Z       "title": "Single source of truth for Worker/Psyche perch location (1.5)",
2026-06-16T04:57:29.7371676Z       "requiredStages": [
2026-06-16T04:57:29.7371781Z         "impl",
2026-06-16T04:57:29.7371886Z         "unit"
2026-06-16T04:57:29.7371991Z       ],
2026-06-16T04:57:29.7372096Z       "stages": {
2026-06-16T04:57:29.7372201Z         "doc": {
2026-06-16T04:57:29.7372468Z           "complete": false,
2026-06-16T04:57:29.7372676Z           "evidence": []
2026-06-16T04:57:29.7372781Z         },
2026-06-16T04:57:29.7372885Z         "impl": {
2026-06-16T04:57:29.7373002Z           "complete": true,
2026-06-16T04:57:29.7373108Z           "evidence": [
2026-06-16T04:57:29.7373214Z             {
2026-06-16T04:57:29.7373360Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7373466Z               "line": 262
2026-06-16T04:57:29.7373571Z             },
2026-06-16T04:57:29.7373670Z             {
2026-06-16T04:57:29.7373819Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7373923Z               "line": 307
2026-06-16T04:57:29.7374034Z             },
2026-06-16T04:57:29.7374138Z             {
2026-06-16T04:57:29.7374271Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7374391Z               "line": 319
2026-06-16T04:57:29.7374486Z             }
2026-06-16T04:57:29.7374600Z           ]
2026-06-16T04:57:29.7374706Z         },
2026-06-16T04:57:29.7374824Z         "int": {
2026-06-16T04:57:29.7374944Z           "complete": false,
2026-06-16T04:57:29.7375055Z           "evidence": []
2026-06-16T04:57:29.7375162Z         },
2026-06-16T04:57:29.7375264Z         "unit": {
2026-06-16T04:57:29.7375374Z           "complete": true,
2026-06-16T04:57:29.7375481Z           "evidence": [
2026-06-16T04:57:29.7375586Z             {
2026-06-16T04:57:29.7375730Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7375829Z               "line": 455
2026-06-16T04:57:29.7375939Z             },
2026-06-16T04:57:29.7376044Z             {
2026-06-16T04:57:29.7376182Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7376283Z               "line": 499
2026-06-16T04:57:29.7376392Z             }
2026-06-16T04:57:29.7376496Z           ]
2026-06-16T04:57:29.7376598Z         }
2026-06-16T04:57:29.7376712Z       }
2026-06-16T04:57:29.7376811Z     },
2026-06-16T04:57:29.7376927Z     {
2026-06-16T04:57:29.7377055Z       "id": "REQ-HOST-RUN-1",
2026-06-16T04:57:29.7379731Z       "title": "spt-hosted harness bringup: `spt endpoint run` spawns an adapter's `[session.self]` command template into a broker-held PTY (the spawn-session seam, brain.rs spawn_session_pid — same broker path shellhost.rs launch_shell_brokered_in uses for shells, now for kind=\"harness\" self-role), registers the perch under the given endpoint id, returns the id. Reverses today's harness-hosted-only launch (external launcher → `api bind`). Non-interactive flag set (--adapter <a[:profile]> --id <id> --create --resume <session> --attach|--start|--view) covers every terminal action of the W2 interactive picker so shortcuts (cc-<id>) bake fully non-interactive launches; composite adapter:profile resolves via registry::resolve_option leaf-replace overlay.",
2026-06-16T04:57:29.7379856Z       "requiredStages": [
2026-06-16T04:57:29.7379965Z         "impl",
2026-06-16T04:57:29.7380065Z         "unit",
2026-06-16T04:57:29.7380185Z         "int"
2026-06-16T04:57:29.7380289Z       ],
2026-06-16T04:57:29.7380405Z       "stages": {
2026-06-16T04:57:29.7380505Z         "doc": {
2026-06-16T04:57:29.7380627Z           "complete": false,
2026-06-16T04:57:29.7380745Z           "evidence": []
2026-06-16T04:57:29.7380840Z         },
2026-06-16T04:57:29.7380958Z         "impl": {
2026-06-16T04:57:29.7381063Z           "complete": true,
2026-06-16T04:57:29.7381169Z           "evidence": [
2026-06-16T04:57:29.7381277Z             {
2026-06-16T04:57:29.7381440Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7381554Z               "line": 24
2026-06-16T04:57:29.7381658Z             },
2026-06-16T04:57:29.7381774Z             {
2026-06-16T04:57:29.7381926Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7382041Z               "line": 63
2026-06-16T04:57:29.7382145Z             },
2026-06-16T04:57:29.7382246Z             {
2026-06-16T04:57:29.7382394Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7382705Z               "line": 109
2026-06-16T04:57:29.7382813Z             },
2026-06-16T04:57:29.7382909Z             {
2026-06-16T04:57:29.7383048Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7383170Z               "line": 1196
2026-06-16T04:57:29.7383274Z             }
2026-06-16T04:57:29.7383369Z           ]
2026-06-16T04:57:29.7383477Z         },
2026-06-16T04:57:29.7383582Z         "int": {
2026-06-16T04:57:29.7383692Z           "complete": true,
2026-06-16T04:57:29.7383811Z           "evidence": [
2026-06-16T04:57:29.7383916Z             {
2026-06-16T04:57:29.7384064Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7384178Z               "line": 279
2026-06-16T04:57:29.7384279Z             }
2026-06-16T04:57:29.7384384Z           ]
2026-06-16T04:57:29.7384483Z         },
2026-06-16T04:57:29.7384584Z         "unit": {
2026-06-16T04:57:29.7384694Z           "complete": true,
2026-06-16T04:57:29.7384803Z           "evidence": [
2026-06-16T04:57:29.7384908Z             {
2026-06-16T04:57:29.7385055Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7385175Z               "line": 149
2026-06-16T04:57:29.7385276Z             },
2026-06-16T04:57:29.7385380Z             {
2026-06-16T04:57:29.7385533Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7385638Z               "line": 169
2026-06-16T04:57:29.7385747Z             },
2026-06-16T04:57:29.7385848Z             {
2026-06-16T04:57:29.7386004Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7386113Z               "line": 202
2026-06-16T04:57:29.7386223Z             }
2026-06-16T04:57:29.7386333Z           ]
2026-06-16T04:57:29.7386432Z         }
2026-06-16T04:57:29.7386538Z       }
2026-06-16T04:57:29.7386638Z     },
2026-06-16T04:57:29.7386742Z     {
2026-06-16T04:57:29.7386858Z       "id": "REQ-HOST-RUN-2",
2026-06-16T04:57:29.7388646Z       "title": "Project-scoped working directory for spt-hosted bringup: `spt endpoint run` lands the broker-spawned harness PTY in the user's PROJECT cwd, not the daemon's, via an additive `SpawnReq.cwd` field carried through the broker PTY spawn (portable-pty CommandBuilder cwd). N-1-safe wire change (additive, defaulted). Required because the consumer (Claude Code) is project-scoped: broker-inherited cwd = the daemon's cwd = the wrong `.claude`, wrong session history, wrong digest source; `cc <id>` at a project root MUST land the harness in that project. W1 ships broker-inherited cwd as a bringup-proof shortcut only; this REQ must land before the M12 gate (doyle, 2026-06-14).",
2026-06-16T04:57:29.7388770Z       "requiredStages": [
2026-06-16T04:57:29.7388872Z         "impl",
2026-06-16T04:57:29.7389052Z         "unit",
2026-06-16T04:57:29.7389162Z         "int"
2026-06-16T04:57:29.7389261Z       ],
2026-06-16T04:57:29.7389366Z       "stages": {
2026-06-16T04:57:29.7389486Z         "doc": {
2026-06-16T04:57:29.7389614Z           "complete": false,
2026-06-16T04:57:29.7389730Z           "evidence": []
2026-06-16T04:57:29.7389839Z         },
2026-06-16T04:57:29.7389943Z         "impl": {
2026-06-16T04:57:29.7390059Z           "complete": true,
2026-06-16T04:57:29.7390172Z           "evidence": [
2026-06-16T04:57:29.7390277Z             {
2026-06-16T04:57:29.7390435Z               "path": "crates/spt-daemon/src/harnesshost.rs",
2026-06-16T04:57:29.7390539Z               "line": 110
2026-06-16T04:57:29.7390645Z             },
2026-06-16T04:57:29.7390750Z             {
2026-06-16T04:57:29.7390887Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T04:57:29.7390993Z               "line": 113
2026-06-16T04:57:29.7391097Z             }
2026-06-16T04:57:29.7391201Z           ]
2026-06-16T04:57:29.7391301Z         },
2026-06-16T04:57:29.7391410Z         "int": {
2026-06-16T04:57:29.7391528Z           "complete": true,
2026-06-16T04:57:29.7391632Z           "evidence": [
2026-06-16T04:57:29.7391734Z             {
2026-06-16T04:57:29.7392128Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7392348Z               "line": 454
2026-06-16T04:57:29.7392457Z             }
2026-06-16T04:57:29.7392563Z           ]
2026-06-16T04:57:29.7392668Z         },
2026-06-16T04:57:29.7392768Z         "unit": {
2026-06-16T04:57:29.7392887Z           "complete": true,
2026-06-16T04:57:29.7392987Z           "evidence": [
2026-06-16T04:57:29.7393096Z             {
2026-06-16T04:57:29.7393236Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T04:57:29.7393340Z               "line": 86
2026-06-16T04:57:29.7393445Z             }
2026-06-16T04:57:29.7393546Z           ]
2026-06-16T04:57:29.7393650Z         }
2026-06-16T04:57:29.7393754Z       }
2026-06-16T04:57:29.7393863Z     },
2026-06-16T04:57:29.7393963Z     {
2026-06-16T04:57:29.7394080Z       "id": "REQ-INFRA-1",
2026-06-16T04:57:29.7394286Z       "title": "GitHub issue tracking for v1; tangled.org as migration target",
2026-06-16T04:57:29.7394409Z       "requiredStages": [],
2026-06-16T04:57:29.7394514Z       "stages": {
2026-06-16T04:57:29.7394615Z         "doc": {
2026-06-16T04:57:29.7394733Z           "complete": false,
2026-06-16T04:57:29.7394839Z           "evidence": []
2026-06-16T04:57:29.7394949Z         },
2026-06-16T04:57:29.7395053Z         "impl": {
2026-06-16T04:57:29.7395159Z           "complete": false,
2026-06-16T04:57:29.7395277Z           "evidence": []
2026-06-16T04:57:29.7395377Z         },
2026-06-16T04:57:29.7395483Z         "int": {
2026-06-16T04:57:29.7395597Z           "complete": false,
2026-06-16T04:57:29.7395711Z           "evidence": []
2026-06-16T04:57:29.7395813Z         },
2026-06-16T04:57:29.7395911Z         "unit": {
2026-06-16T04:57:29.7396030Z           "complete": false,
2026-06-16T04:57:29.7396142Z           "evidence": []
2026-06-16T04:57:29.7396254Z         }
2026-06-16T04:57:29.7396355Z       }
2026-06-16T04:57:29.7396461Z     },
2026-06-16T04:57:29.7396560Z     {
2026-06-16T04:57:29.7396677Z       "id": "REQ-INST-1",
2026-06-16T04:57:29.7396860Z       "title": "endpoint ID vs instance split (adapter-agnostic ID)",
2026-06-16T04:57:29.7396978Z       "requiredStages": [],
2026-06-16T04:57:29.7397084Z       "stages": {
2026-06-16T04:57:29.7397188Z         "doc": {
2026-06-16T04:57:29.7397307Z           "complete": false,
2026-06-16T04:57:29.7397427Z           "evidence": []
2026-06-16T04:57:29.7397517Z         },
2026-06-16T04:57:29.7397631Z         "impl": {
2026-06-16T04:57:29.7397742Z           "complete": false,
2026-06-16T04:57:29.7397865Z           "evidence": []
2026-06-16T04:57:29.7397960Z         },
2026-06-16T04:57:29.7398061Z         "int": {
2026-06-16T04:57:29.7398179Z           "complete": false,
2026-06-16T04:57:29.7398280Z           "evidence": []
2026-06-16T04:57:29.7398391Z         },
2026-06-16T04:57:29.7398490Z         "unit": {
2026-06-16T04:57:29.7398609Z           "complete": false,
2026-06-16T04:57:29.7398715Z           "evidence": []
2026-06-16T04:57:29.7398814Z         }
2026-06-16T04:57:29.7398923Z       }
2026-06-16T04:57:29.7399117Z     },
2026-06-16T04:57:29.7399216Z     {
2026-06-16T04:57:29.7399330Z       "id": "REQ-INST-10",
2026-06-16T04:57:29.7399578Z       "title": "Qualified addressing [subnet:]id[@node] + ambiguity forces qualification",
2026-06-16T04:57:29.7399699Z       "requiredStages": [
2026-06-16T04:57:29.7399808Z         "impl",
2026-06-16T04:57:29.7399912Z         "unit"
2026-06-16T04:57:29.7400018Z       ],
2026-06-16T04:57:29.7400136Z       "stages": {
2026-06-16T04:57:29.7400236Z         "doc": {
2026-06-16T04:57:29.7400356Z           "complete": false,
2026-06-16T04:57:29.7400470Z           "evidence": []
2026-06-16T04:57:29.7400570Z         },
2026-06-16T04:57:29.7400676Z         "impl": {
2026-06-16T04:57:29.7400780Z           "complete": true,
2026-06-16T04:57:29.7400910Z           "evidence": [
2026-06-16T04:57:29.7401014Z             {
2026-06-16T04:57:29.7401166Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7401375Z               "line": 616
2026-06-16T04:57:29.7401568Z             },
2026-06-16T04:57:29.7401676Z             {
2026-06-16T04:57:29.7401827Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7401933Z               "line": 693
2026-06-16T04:57:29.7402040Z             },
2026-06-16T04:57:29.7402149Z             {
2026-06-16T04:57:29.7402289Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7402397Z               "line": 13
2026-06-16T04:57:29.7402503Z             },
2026-06-16T04:57:29.7402603Z             {
2026-06-16T04:57:29.7402746Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7402852Z               "line": 67
2026-06-16T04:57:29.7402951Z             },
2026-06-16T04:57:29.7403055Z             {
2026-06-16T04:57:29.7403200Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7403309Z               "line": 18
2026-06-16T04:57:29.7403418Z             },
2026-06-16T04:57:29.7403520Z             {
2026-06-16T04:57:29.7403661Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7403782Z               "line": 444
2026-06-16T04:57:29.7403881Z             }
2026-06-16T04:57:29.7403985Z           ]
2026-06-16T04:57:29.7404092Z         },
2026-06-16T04:57:29.7404201Z         "int": {
2026-06-16T04:57:29.7404309Z           "complete": false,
2026-06-16T04:57:29.7404423Z           "evidence": []
2026-06-16T04:57:29.7404532Z         },
2026-06-16T04:57:29.7404631Z         "unit": {
2026-06-16T04:57:29.7404745Z           "complete": true,
2026-06-16T04:57:29.7404851Z           "evidence": [
2026-06-16T04:57:29.7404979Z             {
2026-06-16T04:57:29.7405127Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7405237Z               "line": 900
2026-06-16T04:57:29.7405341Z             },
2026-06-16T04:57:29.7405442Z             {
2026-06-16T04:57:29.7405589Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7405695Z               "line": 1233
2026-06-16T04:57:29.7405799Z             },
2026-06-16T04:57:29.7405904Z             {
2026-06-16T04:57:29.7406053Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7406157Z               "line": 1244
2026-06-16T04:57:29.7406262Z             },
2026-06-16T04:57:29.7406373Z             {
2026-06-16T04:57:29.7406514Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7406629Z               "line": 1260
2026-06-16T04:57:29.7406725Z             },
2026-06-16T04:57:29.7406833Z             {
2026-06-16T04:57:29.7406987Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7407096Z               "line": 1276
2026-06-16T04:57:29.7407205Z             },
2026-06-16T04:57:29.7407304Z             {
2026-06-16T04:57:29.7407449Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7407557Z               "line": 1298
2026-06-16T04:57:29.7407658Z             },
2026-06-16T04:57:29.7407758Z             {
2026-06-16T04:57:29.7407910Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7408030Z               "line": 1603
2026-06-16T04:57:29.7408130Z             },
2026-06-16T04:57:29.7408235Z             {
2026-06-16T04:57:29.7408378Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7408482Z               "line": 130
2026-06-16T04:57:29.7408588Z             },
2026-06-16T04:57:29.7408684Z             {
2026-06-16T04:57:29.7408816Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7408918Z               "line": 167
2026-06-16T04:57:29.7409117Z             },
2026-06-16T04:57:29.7409227Z             {
2026-06-16T04:57:29.7409369Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7409483Z               "line": 175
2026-06-16T04:57:29.7409588Z             },
2026-06-16T04:57:29.7409691Z             {
2026-06-16T04:57:29.7409819Z               "path": "crates/spt-proto/src/addr.rs",
2026-06-16T04:57:29.7409939Z               "line": 183
2026-06-16T04:57:29.7410157Z             },
2026-06-16T04:57:29.7410349Z             {
2026-06-16T04:57:29.7410486Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7410593Z               "line": 896
2026-06-16T04:57:29.7410701Z             }
2026-06-16T04:57:29.7410801Z           ]
2026-06-16T04:57:29.7410912Z         }
2026-06-16T04:57:29.7411016Z       }
2026-06-16T04:57:29.7411116Z     },
2026-06-16T04:57:29.7411222Z     {
2026-06-16T04:57:29.7411336Z       "id": "REQ-INST-11",
2026-06-16T04:57:29.7411574Z       "title": "spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)",
2026-06-16T04:57:29.7411683Z       "requiredStages": [
2026-06-16T04:57:29.7411785Z         "impl",
2026-06-16T04:57:29.7411889Z         "unit"
2026-06-16T04:57:29.7411994Z       ],
2026-06-16T04:57:29.7412099Z       "stages": {
2026-06-16T04:57:29.7412195Z         "doc": {
2026-06-16T04:57:29.7412317Z           "complete": false,
2026-06-16T04:57:29.7412417Z           "evidence": []
2026-06-16T04:57:29.7412535Z         },
2026-06-16T04:57:29.7412648Z         "impl": {
2026-06-16T04:57:29.7412753Z           "complete": true,
2026-06-16T04:57:29.7412868Z           "evidence": [
2026-06-16T04:57:29.7412957Z             {
2026-06-16T04:57:29.7413116Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7413212Z               "line": 482
2026-06-16T04:57:29.7413325Z             },
2026-06-16T04:57:29.7413421Z             {
2026-06-16T04:57:29.7413564Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7413668Z               "line": 297
2026-06-16T04:57:29.7413774Z             },
2026-06-16T04:57:29.7413879Z             {
2026-06-16T04:57:29.7414017Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T04:57:29.7414131Z               "line": 59
2026-06-16T04:57:29.7414236Z             },
2026-06-16T04:57:29.7414332Z             {
2026-06-16T04:57:29.7414469Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7414579Z               "line": 4769
2026-06-16T04:57:29.7414685Z             },
2026-06-16T04:57:29.7414789Z             {
2026-06-16T04:57:29.7414921Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7415026Z               "line": 6319
2026-06-16T04:57:29.7415134Z             }
2026-06-16T04:57:29.7415238Z           ]
2026-06-16T04:57:29.7415339Z         },
2026-06-16T04:57:29.7415444Z         "int": {
2026-06-16T04:57:29.7415553Z           "complete": false,
2026-06-16T04:57:29.7415669Z           "evidence": []
2026-06-16T04:57:29.7415773Z         },
2026-06-16T04:57:29.7415877Z         "unit": {
2026-06-16T04:57:29.7415998Z           "complete": true,
2026-06-16T04:57:29.7416102Z           "evidence": [
2026-06-16T04:57:29.7416206Z             {
2026-06-16T04:57:29.7416350Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7416469Z               "line": 1403
2026-06-16T04:57:29.7416579Z             },
2026-06-16T04:57:29.7416679Z             {
2026-06-16T04:57:29.7416822Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7416928Z               "line": 1436
2026-06-16T04:57:29.7417036Z             },
2026-06-16T04:57:29.7417136Z             {
2026-06-16T04:57:29.7417290Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7417403Z               "line": 527
2026-06-16T04:57:29.7417504Z             },
2026-06-16T04:57:29.7417610Z             {
2026-06-16T04:57:29.7417751Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T04:57:29.7417869Z               "line": 160
2026-06-16T04:57:29.7417985Z             },
2026-06-16T04:57:29.7418089Z             {
2026-06-16T04:57:29.7418233Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T04:57:29.7418338Z               "line": 190
2026-06-16T04:57:29.7418441Z             },
2026-06-16T04:57:29.7418543Z             {
2026-06-16T04:57:29.7418690Z               "path": "crates/spt-store/src/rename.rs",
2026-06-16T04:57:29.7418881Z               "line": 225
2026-06-16T04:57:29.7419148Z             },
2026-06-16T04:57:29.7419258Z             {
2026-06-16T04:57:29.7419381Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7419502Z               "line": 6708
2026-06-16T04:57:29.7419605Z             }
2026-06-16T04:57:29.7419715Z           ]
2026-06-16T04:57:29.7419817Z         }
2026-06-16T04:57:29.7419924Z       }
2026-06-16T04:57:29.7420024Z     },
2026-06-16T04:57:29.7420129Z     {
2026-06-16T04:57:29.7420242Z       "id": "REQ-INST-12",
2026-06-16T04:57:29.7420552Z       "title": "Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync",
2026-06-16T04:57:29.7420674Z       "requiredStages": [
2026-06-16T04:57:29.7420780Z         "impl",
2026-06-16T04:57:29.7420885Z         "unit"
2026-06-16T04:57:29.7420994Z       ],
2026-06-16T04:57:29.7421091Z       "stages": {
2026-06-16T04:57:29.7421195Z         "doc": {
2026-06-16T04:57:29.7421294Z           "complete": false,
2026-06-16T04:57:29.7421415Z           "evidence": []
2026-06-16T04:57:29.7421538Z         },
2026-06-16T04:57:29.7421642Z         "impl": {
2026-06-16T04:57:29.7421763Z           "complete": true,
2026-06-16T04:57:29.7421867Z           "evidence": [
2026-06-16T04:57:29.7421976Z             {
2026-06-16T04:57:29.7422125Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7422244Z               "line": 534
2026-06-16T04:57:29.7422350Z             },
2026-06-16T04:57:29.7422449Z             {
2026-06-16T04:57:29.7422611Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7422712Z               "line": 627
2026-06-16T04:57:29.7422816Z             },
2026-06-16T04:57:29.7422919Z             {
2026-06-16T04:57:29.7423072Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7423184Z               "line": 707
2026-06-16T04:57:29.7423284Z             },
2026-06-16T04:57:29.7423395Z             {
2026-06-16T04:57:29.7423537Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7423662Z               "line": 96
2026-06-16T04:57:29.7423762Z             },
2026-06-16T04:57:29.7423866Z             {
2026-06-16T04:57:29.7424010Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7424120Z               "line": 269
2026-06-16T04:57:29.7424224Z             },
2026-06-16T04:57:29.7424325Z             {
2026-06-16T04:57:29.7424481Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7424582Z               "line": 135
2026-06-16T04:57:29.7424692Z             }
2026-06-16T04:57:29.7424801Z           ]
2026-06-16T04:57:29.7424907Z         },
2026-06-16T04:57:29.7425016Z         "int": {
2026-06-16T04:57:29.7425130Z           "complete": false,
2026-06-16T04:57:29.7425250Z           "evidence": []
2026-06-16T04:57:29.7425349Z         },
2026-06-16T04:57:29.7425463Z         "unit": {
2026-06-16T04:57:29.7425582Z           "complete": true,
2026-06-16T04:57:29.7425685Z           "evidence": [
2026-06-16T04:57:29.7425803Z             {
2026-06-16T04:57:29.7425957Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7426075Z               "line": 1478
2026-06-16T04:57:29.7426180Z             },
2026-06-16T04:57:29.7426286Z             {
2026-06-16T04:57:29.7426442Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7426553Z               "line": 1501
2026-06-16T04:57:29.7426663Z             },
2026-06-16T04:57:29.7426766Z             {
2026-06-16T04:57:29.7426910Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7427015Z               "line": 1538
2026-06-16T04:57:29.7427124Z             },
2026-06-16T04:57:29.7427230Z             {
2026-06-16T04:57:29.7427372Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7427493Z               "line": 457
2026-06-16T04:57:29.7427596Z             },
2026-06-16T04:57:29.7427706Z             {
2026-06-16T04:57:29.7427846Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7428146Z               "line": 172
2026-06-16T04:57:29.7428263Z             },
2026-06-16T04:57:29.7428362Z             {
2026-06-16T04:57:29.7428512Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7428621Z               "line": 193
2026-06-16T04:57:29.7428725Z             },
2026-06-16T04:57:29.7428831Z             {
2026-06-16T04:57:29.7429045Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7429155Z               "line": 219
2026-06-16T04:57:29.7429250Z             }
2026-06-16T04:57:29.7429365Z           ]
2026-06-16T04:57:29.7429484Z         }
2026-06-16T04:57:29.7429588Z       }
2026-06-16T04:57:29.7429689Z     },
2026-06-16T04:57:29.7429789Z     {
2026-06-16T04:57:29.7429913Z       "id": "REQ-INST-13",
2026-06-16T04:57:29.7430123Z       "title": "Subnet-exclusive sync + per-endpoint subnet-membership list",
2026-06-16T04:57:29.7430246Z       "requiredStages": [
2026-06-16T04:57:29.7430352Z         "impl",
2026-06-16T04:57:29.7430452Z         "unit"
2026-06-16T04:57:29.7430556Z       ],
2026-06-16T04:57:29.7430665Z       "stages": {
2026-06-16T04:57:29.7430769Z         "doc": {
2026-06-16T04:57:29.7430887Z           "complete": false,
2026-06-16T04:57:29.7430992Z           "evidence": []
2026-06-16T04:57:29.7431098Z         },
2026-06-16T04:57:29.7431216Z         "impl": {
2026-06-16T04:57:29.7431340Z           "complete": true,
2026-06-16T04:57:29.7431445Z           "evidence": [
2026-06-16T04:57:29.7431549Z             {
2026-06-16T04:57:29.7431698Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7431816Z               "line": 100
2026-06-16T04:57:29.7431922Z             },
2026-06-16T04:57:29.7432022Z             {
2026-06-16T04:57:29.7432174Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7432285Z               "line": 158
2026-06-16T04:57:29.7432389Z             }
2026-06-16T04:57:29.7432494Z           ]
2026-06-16T04:57:29.7432600Z         },
2026-06-16T04:57:29.7432699Z         "int": {
2026-06-16T04:57:29.7432818Z           "complete": false,
2026-06-16T04:57:29.7432939Z           "evidence": []
2026-06-16T04:57:29.7433037Z         },
2026-06-16T04:57:29.7433147Z         "unit": {
2026-06-16T04:57:29.7433258Z           "complete": true,
2026-06-16T04:57:29.7433376Z           "evidence": [
2026-06-16T04:57:29.7433470Z             {
2026-06-16T04:57:29.7433618Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7433735Z               "line": 248
2026-06-16T04:57:29.7433840Z             },
2026-06-16T04:57:29.7433946Z             {
2026-06-16T04:57:29.7434087Z               "path": "crates/spt-store/src/visibility.rs",
2026-06-16T04:57:29.7434193Z               "line": 266
2026-06-16T04:57:29.7434298Z             }
2026-06-16T04:57:29.7434407Z           ]
2026-06-16T04:57:29.7434503Z         }
2026-06-16T04:57:29.7434613Z       }
2026-06-16T04:57:29.7434722Z     },
2026-06-16T04:57:29.7434822Z     {
2026-06-16T04:57:29.7434946Z       "id": "REQ-INST-14",
2026-06-16T04:57:29.7435356Z       "title": "Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated",
2026-06-16T04:57:29.7435477Z       "requiredStages": [
2026-06-16T04:57:29.7435586Z         "doc",
2026-06-16T04:57:29.7435681Z         "impl",
2026-06-16T04:57:29.7435787Z         "unit"
2026-06-16T04:57:29.7435891Z       ],
2026-06-16T04:57:29.7436008Z       "stages": {
2026-06-16T04:57:29.7436113Z         "doc": {
2026-06-16T04:57:29.7436232Z           "complete": true,
2026-06-16T04:57:29.7436349Z           "evidence": [
2026-06-16T04:57:29.7436450Z             {
2026-06-16T04:57:29.7436570Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7436683Z               "line": 533
2026-06-16T04:57:29.7436794Z             },
2026-06-16T04:57:29.7436899Z             {
2026-06-16T04:57:29.7437026Z               "path": "docs/STORAGE.md",
2026-06-16T04:57:29.7437142Z               "line": 49
2026-06-16T04:57:29.7437350Z             }
2026-06-16T04:57:29.7437551Z           ]
2026-06-16T04:57:29.7437641Z         },
2026-06-16T04:57:29.7437743Z         "impl": {
2026-06-16T04:57:29.7437856Z           "complete": true,
2026-06-16T04:57:29.7437976Z           "evidence": [
2026-06-16T04:57:29.7438077Z             {
2026-06-16T04:57:29.7438233Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7438349Z               "line": 404
2026-06-16T04:57:29.7438448Z             },
2026-06-16T04:57:29.7438557Z             {
2026-06-16T04:57:29.7438706Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7438823Z               "line": 346
2026-06-16T04:57:29.7438932Z             },
2026-06-16T04:57:29.7439120Z             {
2026-06-16T04:57:29.7439266Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7439381Z               "line": 235
2026-06-16T04:57:29.7439490Z             },
2026-06-16T04:57:29.7439590Z             {
2026-06-16T04:57:29.7439734Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7439857Z               "line": 1409
2026-06-16T04:57:29.7439963Z             }
2026-06-16T04:57:29.7440068Z           ]
2026-06-16T04:57:29.7440172Z         },
2026-06-16T04:57:29.7440288Z         "int": {
2026-06-16T04:57:29.7440406Z           "complete": false,
2026-06-16T04:57:29.7440525Z           "evidence": []
2026-06-16T04:57:29.7440627Z         },
2026-06-16T04:57:29.7440735Z         "unit": {
2026-06-16T04:57:29.7440854Z           "complete": true,
2026-06-16T04:57:29.7440961Z           "evidence": [
2026-06-16T04:57:29.7441068Z             {
2026-06-16T04:57:29.7441220Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7441339Z               "line": 1111
2026-06-16T04:57:29.7441438Z             },
2026-06-16T04:57:29.7441542Z             {
2026-06-16T04:57:29.7441696Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7441804Z               "line": 912
2026-06-16T04:57:29.7441910Z             },
2026-06-16T04:57:29.7442019Z             {
2026-06-16T04:57:29.7442167Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7442282Z               "line": 1173
2026-06-16T04:57:29.7442386Z             },
2026-06-16T04:57:29.7442492Z             {
2026-06-16T04:57:29.7442630Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7442744Z               "line": 533
2026-06-16T04:57:29.7442845Z             },
2026-06-16T04:57:29.7442954Z             {
2026-06-16T04:57:29.7443092Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7443198Z               "line": 6784
2026-06-16T04:57:29.7443306Z             }
2026-06-16T04:57:29.7443411Z           ]
2026-06-16T04:57:29.7443518Z         }
2026-06-16T04:57:29.7443621Z       }
2026-06-16T04:57:29.7443726Z     },
2026-06-16T04:57:29.7443828Z     {
2026-06-16T04:57:29.7443931Z       "id": "REQ-INST-15",
2026-06-16T04:57:29.7444685Z       "title": "Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)",
2026-06-16T04:57:29.7444801Z       "requiredStages": [
2026-06-16T04:57:29.7444915Z         "doc",
2026-06-16T04:57:29.7445019Z         "impl",
2026-06-16T04:57:29.7445125Z         "unit"
2026-06-16T04:57:29.7445230Z       ],
2026-06-16T04:57:29.7451828Z       "stages": {
2026-06-16T04:57:29.7451969Z         "doc": {
2026-06-16T04:57:29.7452093Z           "complete": true,
2026-06-16T04:57:29.7452213Z           "evidence": [
2026-06-16T04:57:29.7452322Z             {
2026-06-16T04:57:29.7452532Z               "path": "docs/adr/0010-immutable-home-subnet-fork-not-rehome.md",
2026-06-16T04:57:29.7452641Z               "line": 3
2026-06-16T04:57:29.7452746Z             }
2026-06-16T04:57:29.7452851Z           ]
2026-06-16T04:57:29.7452956Z         },
2026-06-16T04:57:29.7453219Z         "impl": {
2026-06-16T04:57:29.7453420Z           "complete": true,
2026-06-16T04:57:29.7453533Z           "evidence": [
2026-06-16T04:57:29.7453643Z             {
2026-06-16T04:57:29.7453805Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7453938Z               "line": 353
2026-06-16T04:57:29.7454078Z             },
2026-06-16T04:57:29.7454181Z             {
2026-06-16T04:57:29.7454326Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7454440Z               "line": 60
2026-06-16T04:57:29.7454553Z             },
2026-06-16T04:57:29.7454662Z             {
2026-06-16T04:57:29.7454822Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7454945Z               "line": 368
2026-06-16T04:57:29.7455046Z             },
2026-06-16T04:57:29.7455151Z             {
2026-06-16T04:57:29.7455303Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7455409Z               "line": 417
2026-06-16T04:57:29.7455527Z             },
2026-06-16T04:57:29.7455628Z             {
2026-06-16T04:57:29.7455781Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7455889Z               "line": 19
2026-06-16T04:57:29.7455996Z             },
2026-06-16T04:57:29.7456104Z             {
2026-06-16T04:57:29.7456238Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7456353Z               "line": 70
2026-06-16T04:57:29.7456457Z             },
2026-06-16T04:57:29.7456568Z             {
2026-06-16T04:57:29.7456696Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7456806Z               "line": 96
2026-06-16T04:57:29.7456902Z             },
2026-06-16T04:57:29.7457002Z             {
2026-06-16T04:57:29.7457143Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7457253Z               "line": 121
2026-06-16T04:57:29.7457361Z             },
2026-06-16T04:57:29.7457464Z             {
2026-06-16T04:57:29.7457598Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7457727Z               "line": 172
2026-06-16T04:57:29.7457827Z             },
2026-06-16T04:57:29.7457928Z             {
2026-06-16T04:57:29.7458066Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7458166Z               "line": 138
2026-06-16T04:57:29.7458271Z             },
2026-06-16T04:57:29.7458376Z             {
2026-06-16T04:57:29.7458500Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7458610Z               "line": 1301
2026-06-16T04:57:29.7458710Z             }
2026-06-16T04:57:29.7458809Z           ]
2026-06-16T04:57:29.7458915Z         },
2026-06-16T04:57:29.7459105Z         "int": {
2026-06-16T04:57:29.7459221Z           "complete": false,
2026-06-16T04:57:29.7459339Z           "evidence": []
2026-06-16T04:57:29.7459435Z         },
2026-06-16T04:57:29.7459540Z         "unit": {
2026-06-16T04:57:29.7459653Z           "complete": true,
2026-06-16T04:57:29.7459769Z           "evidence": [
2026-06-16T04:57:29.7459879Z             {
2026-06-16T04:57:29.7460038Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7460153Z               "line": 577
2026-06-16T04:57:29.7460259Z             },
2026-06-16T04:57:29.7460363Z             {
2026-06-16T04:57:29.7460507Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.7460625Z               "line": 638
2026-06-16T04:57:29.7460725Z             },
2026-06-16T04:57:29.7460836Z             {
2026-06-16T04:57:29.7460968Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7461079Z               "line": 213
2026-06-16T04:57:29.7461183Z             },
2026-06-16T04:57:29.7461278Z             {
2026-06-16T04:57:29.7461418Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7461531Z               "line": 249
2026-06-16T04:57:29.7461626Z             },
2026-06-16T04:57:29.7461742Z             {
2026-06-16T04:57:29.7461869Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7462170Z               "line": 262
2026-06-16T04:57:29.7462269Z             },
2026-06-16T04:57:29.7462374Z             {
2026-06-16T04:57:29.7462510Z               "path": "crates/spt-store/src/home.rs",
2026-06-16T04:57:29.7462619Z               "line": 338
2026-06-16T04:57:29.7462730Z             },
2026-06-16T04:57:29.7462834Z             {
2026-06-16T04:57:29.7462982Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7463088Z               "line": 541
2026-06-16T04:57:29.7463187Z             },
2026-06-16T04:57:29.7463292Z             {
2026-06-16T04:57:29.7463426Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7463549Z               "line": 6721
2026-06-16T04:57:29.7463651Z             },
2026-06-16T04:57:29.7463750Z             {
2026-06-16T04:57:29.7463878Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7463994Z               "line": 8441
2026-06-16T04:57:29.7464098Z             }
2026-06-16T04:57:29.7464212Z           ]
2026-06-16T04:57:29.7464328Z         }
2026-06-16T04:57:29.7464431Z       }
2026-06-16T04:57:29.7464541Z     },
2026-06-16T04:57:29.7464648Z     {
2026-06-16T04:57:29.7464775Z       "id": "REQ-INST-2",
2026-06-16T04:57:29.7464919Z       "title": "Per-node files, synced Psyche mind",
2026-06-16T04:57:29.7465037Z       "requiredStages": [
2026-06-16T04:57:29.7465150Z         "impl",
2026-06-16T04:57:29.7465256Z         "unit"
2026-06-16T04:57:29.7465363Z       ],
2026-06-16T04:57:29.7465468Z       "stages": {
2026-06-16T04:57:29.7465578Z         "doc": {
2026-06-16T04:57:29.7465683Z           "complete": false,
2026-06-16T04:57:29.7465801Z           "evidence": []
2026-06-16T04:57:29.7465908Z         },
2026-06-16T04:57:29.7466012Z         "impl": {
2026-06-16T04:57:29.7466135Z           "complete": true,
2026-06-16T04:57:29.7466241Z           "evidence": [
2026-06-16T04:57:29.7466341Z             {
2026-06-16T04:57:29.7466498Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7466626Z               "line": 88
2026-06-16T04:57:29.7466741Z             },
2026-06-16T04:57:29.7466842Z             {
2026-06-16T04:57:29.7466979Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.7467093Z               "line": 28
2026-06-16T04:57:29.7467200Z             },
2026-06-16T04:57:29.7467298Z             {
2026-06-16T04:57:29.7467438Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.7467552Z               "line": 74
2026-06-16T04:57:29.7467651Z             },
2026-06-16T04:57:29.7467760Z             {
2026-06-16T04:57:29.7467893Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.7468001Z               "line": 96
2026-06-16T04:57:29.7468101Z             },
2026-06-16T04:57:29.7468207Z             {
2026-06-16T04:57:29.7468344Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.7468445Z               "line": 86
2026-06-16T04:57:29.7468564Z             },
2026-06-16T04:57:29.7468664Z             {
2026-06-16T04:57:29.7468812Z               "path": "crates/spt-live/src/signoff.rs",
2026-06-16T04:57:29.7468931Z               "line": 118
2026-06-16T04:57:29.7469122Z             }
2026-06-16T04:57:29.7469226Z           ]
2026-06-16T04:57:29.7469331Z         },
2026-06-16T04:57:29.7469442Z         "int": {
2026-06-16T04:57:29.7469561Z           "complete": false,
2026-06-16T04:57:29.7469675Z           "evidence": []
2026-06-16T04:57:29.7469785Z         },
2026-06-16T04:57:29.7469884Z         "unit": {
2026-06-16T04:57:29.7470004Z           "complete": true,
2026-06-16T04:57:29.7470114Z           "evidence": [
2026-06-16T04:57:29.7470218Z             {
2026-06-16T04:57:29.7470353Z               "path": "crates/spt-live/src/ingest.rs",
2026-06-16T04:57:29.7470476Z               "line": 250
2026-06-16T04:57:29.7470584Z             },
2026-06-16T04:57:29.7470690Z             {
2026-06-16T04:57:29.7470828Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.7471048Z               "line": 280
2026-06-16T04:57:29.7471256Z             }
2026-06-16T04:57:29.7471353Z           ]
2026-06-16T04:57:29.7471453Z         }
2026-06-16T04:57:29.7471557Z       }
2026-06-16T04:57:29.7471658Z     },
2026-06-16T04:57:29.7471758Z     {
2026-06-16T04:57:29.7471866Z       "id": "REQ-INST-3",
2026-06-16T04:57:29.7472049Z       "title": "Dormant (warm) / suspended (cold) resting states",
2026-06-16T04:57:29.7472163Z       "requiredStages": [
2026-06-16T04:57:29.7472274Z         "doc",
2026-06-16T04:57:29.7472383Z         "impl",
2026-06-16T04:57:29.7472482Z         "unit"
2026-06-16T04:57:29.7472588Z       ],
2026-06-16T04:57:29.7472688Z       "stages": {
2026-06-16T04:57:29.7472796Z         "doc": {
2026-06-16T04:57:29.7472901Z           "complete": true,
2026-06-16T04:57:29.7473010Z           "evidence": [
2026-06-16T04:57:29.7473113Z             {
2026-06-16T04:57:29.7473251Z               "path": "docs/DORMANCY-BUDGET.md",
2026-06-16T04:57:29.7473362Z               "line": 3
2026-06-16T04:57:29.7473470Z             }
2026-06-16T04:57:29.7473585Z           ]
2026-06-16T04:57:29.7473686Z         },
2026-06-16T04:57:29.7473795Z         "impl": {
2026-06-16T04:57:29.7473901Z           "complete": true,
2026-06-16T04:57:29.7474005Z           "evidence": [
2026-06-16T04:57:29.7474114Z             {
2026-06-16T04:57:29.7474259Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.7474381Z               "line": 59
2026-06-16T04:57:29.7474481Z             },
2026-06-16T04:57:29.7474583Z             {
2026-06-16T04:57:29.7474734Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7474840Z               "line": 480
2026-06-16T04:57:29.7474944Z             },
2026-06-16T04:57:29.7475039Z             {
2026-06-16T04:57:29.7475194Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7475292Z               "line": 204
2026-06-16T04:57:29.7475407Z             },
2026-06-16T04:57:29.7475513Z             {
2026-06-16T04:57:29.7475668Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7475778Z               "line": 334
2026-06-16T04:57:29.7475887Z             },
2026-06-16T04:57:29.7475985Z             {
2026-06-16T04:57:29.7476128Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7476243Z               "line": 368
2026-06-16T04:57:29.7476352Z             },
2026-06-16T04:57:29.7476453Z             {
2026-06-16T04:57:29.7476600Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-16T04:57:29.7476709Z               "line": 74
2026-06-16T04:57:29.7476815Z             },
2026-06-16T04:57:29.7476906Z             {
2026-06-16T04:57:29.7477063Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7477168Z               "line": 234
2026-06-16T04:57:29.7477272Z             },
2026-06-16T04:57:29.7477373Z             {
2026-06-16T04:57:29.7477525Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7477640Z               "line": 390
2026-06-16T04:57:29.7477741Z             },
2026-06-16T04:57:29.7477849Z             {
2026-06-16T04:57:29.7477998Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7478098Z               "line": 45
2026-06-16T04:57:29.7478207Z             },
2026-06-16T04:57:29.7478301Z             {
2026-06-16T04:57:29.7478439Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7478552Z               "line": 114
2026-06-16T04:57:29.7478657Z             },
2026-06-16T04:57:29.7478758Z             {
2026-06-16T04:57:29.7478900Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7479087Z               "line": 152
2026-06-16T04:57:29.7479176Z             },
2026-06-16T04:57:29.7479281Z             {
2026-06-16T04:57:29.7479444Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7479557Z               "line": 168
2026-06-16T04:57:29.7479650Z             },
2026-06-16T04:57:29.7479753Z             {
2026-06-16T04:57:29.7479988Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7480187Z               "line": 178
2026-06-16T04:57:29.7480294Z             },
2026-06-16T04:57:29.7480397Z             {
2026-06-16T04:57:29.7480530Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7480637Z               "line": 210
2026-06-16T04:57:29.7480745Z             },
2026-06-16T04:57:29.7480850Z             {
2026-06-16T04:57:29.7480985Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7481093Z               "line": 287
2026-06-16T04:57:29.7481192Z             },
2026-06-16T04:57:29.7481293Z             {
2026-06-16T04:57:29.7481440Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7481545Z               "line": 311
2026-06-16T04:57:29.7481646Z             },
2026-06-16T04:57:29.7481750Z             {
2026-06-16T04:57:29.7481894Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7482008Z               "line": 389
2026-06-16T04:57:29.7482112Z             },
2026-06-16T04:57:29.7482218Z             {
2026-06-16T04:57:29.7482361Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7482480Z               "line": 438
2026-06-16T04:57:29.7482585Z             },
2026-06-16T04:57:29.7482685Z             {
2026-06-16T04:57:29.7482829Z               "path": "crates/spt-daemon/tests/budget.rs",
2026-06-16T04:57:29.7482938Z               "line": 37
2026-06-16T04:57:29.7483047Z             },
2026-06-16T04:57:29.7483153Z             {
2026-06-16T04:57:29.7483300Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7483409Z               "line": 62
2026-06-16T04:57:29.7483518Z             },
2026-06-16T04:57:29.7483626Z             {
2026-06-16T04:57:29.7483773Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7483884Z               "line": 221
2026-06-16T04:57:29.7483992Z             },
2026-06-16T04:57:29.7484112Z             {
2026-06-16T04:57:29.7484231Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7484345Z               "line": 1634
2026-06-16T04:57:29.7484456Z             }
2026-06-16T04:57:29.7484560Z           ]
2026-06-16T04:57:29.7484669Z         },
2026-06-16T04:57:29.7484775Z         "int": {
2026-06-16T04:57:29.7484899Z           "complete": false,
2026-06-16T04:57:29.7485003Z           "evidence": []
2026-06-16T04:57:29.7485109Z         },
2026-06-16T04:57:29.7485208Z         "unit": {
2026-06-16T04:57:29.7485318Z           "complete": true,
2026-06-16T04:57:29.7485434Z           "evidence": [
2026-06-16T04:57:29.7485528Z             {
2026-06-16T04:57:29.7485696Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.7485806Z               "line": 360
2026-06-16T04:57:29.7485915Z             },
2026-06-16T04:57:29.7486020Z             {
2026-06-16T04:57:29.7486172Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7486276Z               "line": 787
2026-06-16T04:57:29.7486390Z             },
2026-06-16T04:57:29.7486494Z             {
2026-06-16T04:57:29.7486645Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7486755Z               "line": 844
2026-06-16T04:57:29.7486869Z             },
2026-06-16T04:57:29.7486998Z             {
2026-06-16T04:57:29.7487147Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7487265Z               "line": 889
2026-06-16T04:57:29.7487381Z             },
2026-06-16T04:57:29.7487476Z             {
2026-06-16T04:57:29.7487628Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7487742Z               "line": 1014
2026-06-16T04:57:29.7487847Z             },
2026-06-16T04:57:29.7487948Z             {
2026-06-16T04:57:29.7488104Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7488214Z               "line": 1212
2026-06-16T04:57:29.7488315Z             },
2026-06-16T04:57:29.7488418Z             {
2026-06-16T04:57:29.7488650Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7488837Z               "line": 1353
2026-06-16T04:57:29.7489032Z             },
2026-06-16T04:57:29.7489136Z             {
2026-06-16T04:57:29.7489284Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7489384Z               "line": 449
2026-06-16T04:57:29.7489488Z             },
2026-06-16T04:57:29.7489590Z             {
2026-06-16T04:57:29.7489736Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7489846Z               "line": 485
2026-06-16T04:57:29.7489942Z             },
2026-06-16T04:57:29.7490047Z             {
2026-06-16T04:57:29.7490180Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7490285Z               "line": 540
2026-06-16T04:57:29.7490390Z             },
2026-06-16T04:57:29.7490490Z             {
2026-06-16T04:57:29.7490638Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7490747Z               "line": 697
2026-06-16T04:57:29.7490858Z             },
2026-06-16T04:57:29.7490962Z             {
2026-06-16T04:57:29.7491110Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7491216Z               "line": 931
2026-06-16T04:57:29.7491329Z             },
2026-06-16T04:57:29.7491430Z             {
2026-06-16T04:57:29.7491568Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7491686Z               "line": 945
2026-06-16T04:57:29.7491781Z             },
2026-06-16T04:57:29.7491892Z             {
2026-06-16T04:57:29.7492038Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7492144Z               "line": 1214
2026-06-16T04:57:29.7492249Z             },
2026-06-16T04:57:29.7492357Z             {
2026-06-16T04:57:29.7492497Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.7492602Z               "line": 483
2026-06-16T04:57:29.7492716Z             },
2026-06-16T04:57:29.7492826Z             {
2026-06-16T04:57:29.7492959Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7493069Z               "line": 6745
2026-06-16T04:57:29.7493165Z             }
2026-06-16T04:57:29.7493269Z           ]
2026-06-16T04:57:29.7493374Z         }
2026-06-16T04:57:29.7493479Z       }
2026-06-16T04:57:29.7493578Z     },
2026-06-16T04:57:29.7493689Z     {
2026-06-16T04:57:29.7493836Z       "id": "REQ-INST-4",
2026-06-16T04:57:29.7494040Z       "title": "active to dormant/suspended fires a transition echo commune",
2026-06-16T04:57:29.7494163Z       "requiredStages": [
2026-06-16T04:57:29.7494271Z         "impl",
2026-06-16T04:57:29.7494381Z         "unit"
2026-06-16T04:57:29.7494492Z       ],
2026-06-16T04:57:29.7494605Z       "stages": {
2026-06-16T04:57:29.7494715Z         "doc": {
2026-06-16T04:57:29.7494825Z           "complete": false,
2026-06-16T04:57:29.7494934Z           "evidence": []
2026-06-16T04:57:29.7495035Z         },
2026-06-16T04:57:29.7495140Z         "impl": {
2026-06-16T04:57:29.7495263Z           "complete": true,
2026-06-16T04:57:29.7495383Z           "evidence": [
2026-06-16T04:57:29.7495478Z             {
2026-06-16T04:57:29.7495626Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7495736Z               "line": 335
2026-06-16T04:57:29.7495841Z             },
2026-06-16T04:57:29.7495951Z             {
2026-06-16T04:57:29.7496093Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7496212Z               "line": 202
2026-06-16T04:57:29.7496318Z             },
2026-06-16T04:57:29.7496422Z             {
2026-06-16T04:57:29.7496561Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7496667Z               "line": 234
2026-06-16T04:57:29.7496769Z             },
2026-06-16T04:57:29.7496873Z             {
2026-06-16T04:57:29.7497016Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7497119Z               "line": 274
2026-06-16T04:57:29.7497220Z             }
2026-06-16T04:57:29.7497420Z           ]
2026-06-16T04:57:29.7497631Z         },
2026-06-16T04:57:29.7497735Z         "int": {
2026-06-16T04:57:29.7497844Z           "complete": false,
2026-06-16T04:57:29.7497955Z           "evidence": []
2026-06-16T04:57:29.7498054Z         },
2026-06-16T04:57:29.7498154Z         "unit": {
2026-06-16T04:57:29.7498274Z           "complete": true,
2026-06-16T04:57:29.7498374Z           "evidence": [
2026-06-16T04:57:29.7498474Z             {
2026-06-16T04:57:29.7498622Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.7498731Z               "line": 839
2026-06-16T04:57:29.7498837Z             },
2026-06-16T04:57:29.7499017Z             {
2026-06-16T04:57:29.7499161Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7499266Z               "line": 561
2026-06-16T04:57:29.7499365Z             },
2026-06-16T04:57:29.7499465Z             {
2026-06-16T04:57:29.7499611Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7499729Z               "line": 668
2026-06-16T04:57:29.7499834Z             },
2026-06-16T04:57:29.7499944Z             {
2026-06-16T04:57:29.7500082Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7500187Z               "line": 750
2026-06-16T04:57:29.7500287Z             }
2026-06-16T04:57:29.7500387Z           ]
2026-06-16T04:57:29.7500484Z         }
2026-06-16T04:57:29.7500579Z       }
2026-06-16T04:57:29.7500687Z     },
2026-06-16T04:57:29.7500789Z     {
2026-06-16T04:57:29.7500902Z       "id": "REQ-INST-5",
2026-06-16T04:57:29.7501113Z       "title": "Two-tier context sync (live to all, project to same-project)",
2026-06-16T04:57:29.7501222Z       "requiredStages": [
2026-06-16T04:57:29.7501327Z         "impl",
2026-06-16T04:57:29.7501428Z         "unit",
2026-06-16T04:57:29.7501536Z         "int"
2026-06-16T04:57:29.7501637Z       ],
2026-06-16T04:57:29.7501743Z       "stages": {
2026-06-16T04:57:29.7501841Z         "doc": {
2026-06-16T04:57:29.7501951Z           "complete": false,
2026-06-16T04:57:29.7502072Z           "evidence": []
2026-06-16T04:57:29.7502179Z         },
2026-06-16T04:57:29.7502283Z         "impl": {
2026-06-16T04:57:29.7502389Z           "complete": true,
2026-06-16T04:57:29.7502499Z           "evidence": [
2026-06-16T04:57:29.7502598Z             {
2026-06-16T04:57:29.7502747Z               "path": "crates/spt-daemon/src/pump/sync.rs",
2026-06-16T04:57:29.7502851Z               "line": 85
2026-06-16T04:57:29.7502961Z             },
2026-06-16T04:57:29.7503062Z             {
2026-06-16T04:57:29.7503199Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7503305Z               "line": 68
2026-06-16T04:57:29.7503414Z             },
2026-06-16T04:57:29.7503519Z             {
2026-06-16T04:57:29.7503663Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7503796Z               "line": 99
2026-06-16T04:57:29.7503925Z             },
2026-06-16T04:57:29.7504030Z             {
2026-06-16T04:57:29.7504177Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7504298Z               "line": 183
2026-06-16T04:57:29.7504396Z             },
2026-06-16T04:57:29.7504500Z             {
2026-06-16T04:57:29.7504643Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7504746Z               "line": 314
2026-06-16T04:57:29.7504850Z             }
2026-06-16T04:57:29.7504951Z           ]
2026-06-16T04:57:29.7505057Z         },
2026-06-16T04:57:29.7505165Z         "int": {
2026-06-16T04:57:29.7505290Z           "complete": true,
2026-06-16T04:57:29.7505394Z           "evidence": [
2026-06-16T04:57:29.7505503Z             {
2026-06-16T04:57:29.7505652Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.7505771Z               "line": 156
2026-06-16T04:57:29.7505882Z             },
2026-06-16T04:57:29.7505986Z             {
2026-06-16T04:57:29.7506138Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T04:57:29.7506248Z               "line": 102
2026-06-16T04:57:29.7506549Z             },
2026-06-16T04:57:29.7506649Z             {
2026-06-16T04:57:29.7506792Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7506907Z               "line": 639
2026-06-16T04:57:29.7507010Z             },
2026-06-16T04:57:29.7507126Z             {
2026-06-16T04:57:29.7507269Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7507372Z               "line": 976
2026-06-16T04:57:29.7507477Z             }
2026-06-16T04:57:29.7507581Z           ]
2026-06-16T04:57:29.7507689Z         },
2026-06-16T04:57:29.7507785Z         "unit": {
2026-06-16T04:57:29.7507890Z           "complete": true,
2026-06-16T04:57:29.7508004Z           "evidence": [
2026-06-16T04:57:29.7508109Z             {
2026-06-16T04:57:29.7508248Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7508366Z               "line": 552
2026-06-16T04:57:29.7508472Z             },
2026-06-16T04:57:29.7508572Z             {
2026-06-16T04:57:29.7508719Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7508839Z               "line": 595
2026-06-16T04:57:29.7509015Z             },
2026-06-16T04:57:29.7509116Z             {
2026-06-16T04:57:29.7509253Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.7509354Z               "line": 219
2026-06-16T04:57:29.7509450Z             }
2026-06-16T04:57:29.7509553Z           ]
2026-06-16T04:57:29.7509659Z         }
2026-06-16T04:57:29.7509765Z       }
2026-06-16T04:57:29.7509868Z     },
2026-06-16T04:57:29.7509977Z     {
2026-06-16T04:57:29.7510091Z       "id": "REQ-INST-6",
2026-06-16T04:57:29.7510303Z       "title": "Deferred messages not delivered to dormant/suspended instances",
2026-06-16T04:57:29.7510424Z       "requiredStages": [
2026-06-16T04:57:29.7510523Z         "impl",
2026-06-16T04:57:29.7510623Z         "unit",
2026-06-16T04:57:29.7510720Z         "int"
2026-06-16T04:57:29.7510815Z       ],
2026-06-16T04:57:29.7510938Z       "stages": {
2026-06-16T04:57:29.7511044Z         "doc": {
2026-06-16T04:57:29.7511158Z           "complete": true,
2026-06-16T04:57:29.7511267Z           "evidence": [
2026-06-16T04:57:29.7511368Z             {
2026-06-16T04:57:29.7511491Z               "path": "docs/DEFERRED.md",
2026-06-16T04:57:29.7511610Z               "line": 13
2026-06-16T04:57:29.7511716Z             }
2026-06-16T04:57:29.7511820Z           ]
2026-06-16T04:57:29.7511930Z         },
2026-06-16T04:57:29.7512026Z         "impl": {
2026-06-16T04:57:29.7512135Z           "complete": true,
2026-06-16T04:57:29.7512235Z           "evidence": [
2026-06-16T04:57:29.7512341Z             {
2026-06-16T04:57:29.7512487Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7512589Z               "line": 391
2026-06-16T04:57:29.7512689Z             },
2026-06-16T04:57:29.7512792Z             {
2026-06-16T04:57:29.7512940Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T04:57:29.7513045Z               "line": 27
2026-06-16T04:57:29.7513163Z             },
2026-06-16T04:57:29.7513264Z             {
2026-06-16T04:57:29.7513411Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T04:57:29.7513516Z               "line": 73
2026-06-16T04:57:29.7513622Z             },
2026-06-16T04:57:29.7513736Z             {
2026-06-16T04:57:29.7513884Z               "path": "crates/spt-daemon/src/resthost.rs",
2026-06-16T04:57:29.7513998Z               "line": 182
2026-06-16T04:57:29.7514122Z             },
2026-06-16T04:57:29.7514218Z             {
2026-06-16T04:57:29.7514365Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7514465Z               "line": 426
2026-06-16T04:57:29.7514567Z             },
2026-06-16T04:57:29.7514665Z             {
2026-06-16T04:57:29.7514809Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-16T04:57:29.7514914Z               "line": 31
2026-06-16T04:57:29.7515018Z             },
2026-06-16T04:57:29.7515122Z             {
2026-06-16T04:57:29.7515387Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.7515593Z               "line": 202
2026-06-16T04:57:29.7515697Z             },
2026-06-16T04:57:29.7515802Z             {
2026-06-16T04:57:29.7515936Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.7516044Z               "line": 83
2026-06-16T04:57:29.7516165Z             },
2026-06-16T04:57:29.7516269Z             {
2026-06-16T04:57:29.7516403Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7516517Z               "line": 1635
2026-06-16T04:57:29.7516622Z             },
2026-06-16T04:57:29.7516732Z             {
2026-06-16T04:57:29.7516856Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7516961Z               "line": 179
2026-06-16T04:57:29.7517066Z             },
2026-06-16T04:57:29.7517175Z             {
2026-06-16T04:57:29.7517309Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7517420Z               "line": 215
2026-06-16T04:57:29.7517528Z             }
2026-06-16T04:57:29.7517638Z           ]
2026-06-16T04:57:29.7517744Z         },
2026-06-16T04:57:29.7517847Z         "int": {
2026-06-16T04:57:29.7517960Z           "complete": true,
2026-06-16T04:57:29.7518061Z           "evidence": [
2026-06-16T04:57:29.7518164Z             {
2026-06-16T04:57:29.7518316Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7518417Z               "line": 653
2026-06-16T04:57:29.7518521Z             },
2026-06-16T04:57:29.7518616Z             {
2026-06-16T04:57:29.7518761Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7518884Z               "line": 1021
2026-06-16T04:57:29.7519066Z             },
2026-06-16T04:57:29.7519170Z             {
2026-06-16T04:57:29.7519294Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7519409Z               "line": 726
2026-06-16T04:57:29.7519508Z             }
2026-06-16T04:57:29.7519613Z           ]
2026-06-16T04:57:29.7519719Z         },
2026-06-16T04:57:29.7519828Z         "unit": {
2026-06-16T04:57:29.7519981Z           "complete": true,
2026-06-16T04:57:29.7520085Z           "evidence": [
2026-06-16T04:57:29.7520190Z             {
2026-06-16T04:57:29.7520339Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7520447Z               "line": 661
2026-06-16T04:57:29.7520556Z             },
2026-06-16T04:57:29.7520656Z             {
2026-06-16T04:57:29.7520802Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.7520912Z               "line": 899
2026-06-16T04:57:29.7521007Z             },
2026-06-16T04:57:29.7521111Z             {
2026-06-16T04:57:29.7521260Z               "path": "crates/spt-net/src/net/rest.rs",
2026-06-16T04:57:29.7521365Z               "line": 66
2026-06-16T04:57:29.7521469Z             },
2026-06-16T04:57:29.7521575Z             {
2026-06-16T04:57:29.7521704Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.7521827Z               "line": 297
2026-06-16T04:57:29.7521938Z             },
2026-06-16T04:57:29.7522042Z             {
2026-06-16T04:57:29.7522185Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.7522300Z               "line": 203
2026-06-16T04:57:29.7522413Z             }
2026-06-16T04:57:29.7522510Z           ]
2026-06-16T04:57:29.7522614Z         }
2026-06-16T04:57:29.7522719Z       }
2026-06-16T04:57:29.7522825Z     },
2026-06-16T04:57:29.7522925Z     {
2026-06-16T04:57:29.7523029Z       "id": "REQ-INST-7",
2026-06-16T04:57:29.7523192Z       "title": "Subnet registry + bare-id resolution policy",
2026-06-16T04:57:29.7523309Z       "requiredStages": [
2026-06-16T04:57:29.7523423Z         "impl",
2026-06-16T04:57:29.7523519Z         "unit",
2026-06-16T04:57:29.7523624Z         "int"
2026-06-16T04:57:29.7523728Z       ],
2026-06-16T04:57:29.7523829Z       "stages": {
2026-06-16T04:57:29.7523939Z         "doc": {
2026-06-16T04:57:29.7524057Z           "complete": false,
2026-06-16T04:57:29.7524277Z           "evidence": []
2026-06-16T04:57:29.7524469Z         },
2026-06-16T04:57:29.7524582Z         "impl": {
2026-06-16T04:57:29.7524706Z           "complete": true,
2026-06-16T04:57:29.7524808Z           "evidence": [
2026-06-16T04:57:29.7524906Z             {
2026-06-16T04:57:29.7525055Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7525174Z               "line": 436
2026-06-16T04:57:29.7525273Z             },
2026-06-16T04:57:29.7525379Z             {
2026-06-16T04:57:29.7525540Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7525639Z               "line": 27
2026-06-16T04:57:29.7525745Z             },
2026-06-16T04:57:29.7525843Z             {
2026-06-16T04:57:29.7525999Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7526115Z               "line": 207
2026-06-16T04:57:29.7526219Z             },
2026-06-16T04:57:29.7526329Z             {
2026-06-16T04:57:29.7526472Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7526605Z               "line": 344
2026-06-16T04:57:29.7526702Z             },
2026-06-16T04:57:29.7526806Z             {
2026-06-16T04:57:29.7526948Z               "path": "crates/spt-net/src/net/ndjson.rs",
2026-06-16T04:57:29.7527049Z               "line": 59
2026-06-16T04:57:29.7527154Z             },
2026-06-16T04:57:29.7527258Z             {
2026-06-16T04:57:29.7527406Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7527511Z               "line": 41
2026-06-16T04:57:29.7527617Z             },
2026-06-16T04:57:29.7527721Z             {
2026-06-16T04:57:29.7527864Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7527975Z               "line": 27
2026-06-16T04:57:29.7528074Z             },
2026-06-16T04:57:29.7528189Z             {
2026-06-16T04:57:29.7528332Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7528450Z               "line": 119
2026-06-16T04:57:29.7528559Z             },
2026-06-16T04:57:29.7534995Z             {
2026-06-16T04:57:29.7535204Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7535334Z               "line": 134
2026-06-16T04:57:29.7535433Z             },
2026-06-16T04:57:29.7535538Z             {
2026-06-16T04:57:29.7535687Z               "path": "crates/spt-store/src/registry.rs",
2026-06-16T04:57:29.7535814Z               "line": 139
2026-06-16T04:57:29.7535915Z             }
2026-06-16T04:57:29.7536021Z           ]
2026-06-16T04:57:29.7536124Z         },
2026-06-16T04:57:29.7536228Z         "int": {
2026-06-16T04:57:29.7536352Z           "complete": true,
2026-06-16T04:57:29.7536460Z           "evidence": [
2026-06-16T04:57:29.7536569Z             {
2026-06-16T04:57:29.7536723Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T04:57:29.7536831Z               "line": 102
2026-06-16T04:57:29.7536937Z             },
2026-06-16T04:57:29.7537042Z             {
2026-06-16T04:57:29.7537208Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7537318Z               "line": 597
2026-06-16T04:57:29.7537427Z             },
2026-06-16T04:57:29.7537538Z             {
2026-06-16T04:57:29.7537695Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7537814Z               "line": 871
2026-06-16T04:57:29.7537915Z             }
2026-06-16T04:57:29.7538019Z           ]
2026-06-16T04:57:29.7538124Z         },
2026-06-16T04:57:29.7538235Z         "unit": {
2026-06-16T04:57:29.7538362Z           "complete": true,
2026-06-16T04:57:29.7538472Z           "evidence": [
2026-06-16T04:57:29.7538578Z             {
2026-06-16T04:57:29.7538734Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7538855Z               "line": 1082
2026-06-16T04:57:29.7539039Z             },
2026-06-16T04:57:29.7539143Z             {
2026-06-16T04:57:29.7539289Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7539527Z               "line": 1414
2026-06-16T04:57:29.7539741Z             },
2026-06-16T04:57:29.7539847Z             {
2026-06-16T04:57:29.7539994Z               "path": "crates/spt-daemon/tests/replicate.rs",
2026-06-16T04:57:29.7540095Z               "line": 84
2026-06-16T04:57:29.7540200Z             },
2026-06-16T04:57:29.7540304Z             {
2026-06-16T04:57:29.7540453Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7540571Z               "line": 780
2026-06-16T04:57:29.7540676Z             },
2026-06-16T04:57:29.7540778Z             {
2026-06-16T04:57:29.7540924Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7541034Z               "line": 791
2026-06-16T04:57:29.7541135Z             },
2026-06-16T04:57:29.7541239Z             {
2026-06-16T04:57:29.7541383Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7541492Z               "line": 806
2026-06-16T04:57:29.7541591Z             },
2026-06-16T04:57:29.7541695Z             {
2026-06-16T04:57:29.7541851Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7541960Z               "line": 166
2026-06-16T04:57:29.7542066Z             },
2026-06-16T04:57:29.7542176Z             {
2026-06-16T04:57:29.7542318Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7542433Z               "line": 181
2026-06-16T04:57:29.7542542Z             },
2026-06-16T04:57:29.7542642Z             {
2026-06-16T04:57:29.7542791Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.7542895Z               "line": 214
2026-06-16T04:57:29.7542996Z             }
2026-06-16T04:57:29.7543100Z           ]
2026-06-16T04:57:29.7543209Z         }
2026-06-16T04:57:29.7543310Z       }
2026-06-16T04:57:29.7543410Z     },
2026-06-16T04:57:29.7543520Z     {
2026-06-16T04:57:29.7543640Z       "id": "REQ-INST-8",
2026-06-16T04:57:29.7543830Z       "title": "Remote-control mode distinct from local operation",
2026-06-16T04:57:29.7543955Z       "requiredStages": [
2026-06-16T04:57:29.7544073Z         "impl",
2026-06-16T04:57:29.7544173Z         "unit",
2026-06-16T04:57:29.7544279Z         "int"
2026-06-16T04:57:29.7544383Z       ],
2026-06-16T04:57:29.7544491Z       "stages": {
2026-06-16T04:57:29.7544601Z         "doc": {
2026-06-16T04:57:29.7544707Z           "complete": false,
2026-06-16T04:57:29.7544829Z           "evidence": []
2026-06-16T04:57:29.7544935Z         },
2026-06-16T04:57:29.7545040Z         "impl": {
2026-06-16T04:57:29.7545158Z           "complete": true,
2026-06-16T04:57:29.7545269Z           "evidence": [
2026-06-16T04:57:29.7545374Z             {
2026-06-16T04:57:29.7545516Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.7545636Z               "line": 104
2026-06-16T04:57:29.7545741Z             },
2026-06-16T04:57:29.7545850Z             {
2026-06-16T04:57:29.7545993Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.7546102Z               "line": 299
2026-06-16T04:57:29.7546218Z             },
2026-06-16T04:57:29.7546336Z             {
2026-06-16T04:57:29.7546484Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.7546600Z               "line": 339
2026-06-16T04:57:29.7546707Z             },
2026-06-16T04:57:29.7546822Z             {
2026-06-16T04:57:29.7546964Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.7547082Z               "line": 62
2026-06-16T04:57:29.7547177Z             }
2026-06-16T04:57:29.7547283Z           ]
2026-06-16T04:57:29.7547387Z         },
2026-06-16T04:57:29.7547492Z         "int": {
2026-06-16T04:57:29.7547617Z           "complete": true,
2026-06-16T04:57:29.7547720Z           "evidence": [
2026-06-16T04:57:29.7547831Z             {
2026-06-16T04:57:29.7547978Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.7548098Z               "line": 415
2026-06-16T04:57:29.7548198Z             },
2026-06-16T04:57:29.7548302Z             {
2026-06-16T04:57:29.7548536Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7548722Z               "line": 935
2026-06-16T04:57:29.7548823Z             }
2026-06-16T04:57:29.7548927Z           ]
2026-06-16T04:57:29.7549124Z         },
2026-06-16T04:57:29.7549227Z         "unit": {
2026-06-16T04:57:29.7549342Z           "complete": true,
2026-06-16T04:57:29.7549448Z           "evidence": [
2026-06-16T04:57:29.7549546Z             {
2026-06-16T04:57:29.7549703Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7549808Z               "line": 358
2026-06-16T04:57:29.7549906Z             },
2026-06-16T04:57:29.7550011Z             {
2026-06-16T04:57:29.7550160Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7550273Z               "line": 513
2026-06-16T04:57:29.7550374Z             },
2026-06-16T04:57:29.7550479Z             {
2026-06-16T04:57:29.7550621Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.7550746Z               "line": 116
2026-06-16T04:57:29.7550850Z             },
2026-06-16T04:57:29.7550950Z             {
2026-06-16T04:57:29.7551093Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.7551193Z               "line": 160
2026-06-16T04:57:29.7551299Z             }
2026-06-16T04:57:29.7551399Z           ]
2026-06-16T04:57:29.7551498Z         }
2026-06-16T04:57:29.7551604Z       }
2026-06-16T04:57:29.7551709Z     },
2026-06-16T04:57:29.7551813Z     {
2026-06-16T04:57:29.7551919Z       "id": "REQ-INST-9",
2026-06-16T04:57:29.7552137Z       "title": "Multi-subnet membership (same-user N subnets; cross-user seam)",
2026-06-16T04:57:29.7552246Z       "requiredStages": [
2026-06-16T04:57:29.7552351Z         "impl",
2026-06-16T04:57:29.7552463Z         "unit"
2026-06-16T04:57:29.7552558Z       ],
2026-06-16T04:57:29.7552674Z       "stages": {
2026-06-16T04:57:29.7552783Z         "doc": {
2026-06-16T04:57:29.7552902Z           "complete": false,
2026-06-16T04:57:29.7553012Z           "evidence": []
2026-06-16T04:57:29.7553126Z         },
2026-06-16T04:57:29.7553231Z         "impl": {
2026-06-16T04:57:29.7553346Z           "complete": true,
2026-06-16T04:57:29.7553450Z           "evidence": [
2026-06-16T04:57:29.7553551Z             {
2026-06-16T04:57:29.7553698Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7553807Z               "line": 417
2026-06-16T04:57:29.7553909Z             }
2026-06-16T04:57:29.7554013Z           ]
2026-06-16T04:57:29.7554113Z         },
2026-06-16T04:57:29.7554219Z         "int": {
2026-06-16T04:57:29.7554332Z           "complete": false,
2026-06-16T04:57:29.7554446Z           "evidence": []
2026-06-16T04:57:29.7554553Z         },
2026-06-16T04:57:29.7554656Z         "unit": {
2026-06-16T04:57:29.7554761Z           "complete": true,
2026-06-16T04:57:29.7554863Z           "evidence": [
2026-06-16T04:57:29.7554971Z             {
2026-06-16T04:57:29.7555113Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7555238Z               "line": 1321
2026-06-16T04:57:29.7555347Z             },
2026-06-16T04:57:29.7555447Z             {
2026-06-16T04:57:29.7555600Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7555699Z               "line": 1330
2026-06-16T04:57:29.7555810Z             },
2026-06-16T04:57:29.7555915Z             {
2026-06-16T04:57:29.7556062Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7556173Z               "line": 1346
2026-06-16T04:57:29.7556287Z             },
2026-06-16T04:57:29.7556410Z             {
2026-06-16T04:57:29.7556558Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7556672Z               "line": 1358
2026-06-16T04:57:29.7556774Z             },
2026-06-16T04:57:29.7556878Z             {
2026-06-16T04:57:29.7557021Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7557136Z               "line": 1378
2026-06-16T04:57:29.7557244Z             }
2026-06-16T04:57:29.7557453Z           ]
2026-06-16T04:57:29.7557651Z         }
2026-06-16T04:57:29.7557752Z       }
2026-06-16T04:57:29.7557858Z     },
2026-06-16T04:57:29.7557956Z     {
2026-06-16T04:57:29.7558076Z       "id": "REQ-INSTALL-1",
2026-06-16T04:57:29.7558295Z       "title": "Two install paths; signed one-line script; OS-service registration",
2026-06-16T04:57:29.7558406Z       "requiredStages": [
2026-06-16T04:57:29.7558510Z         "doc",
2026-06-16T04:57:29.7558614Z         "impl",
2026-06-16T04:57:29.7558720Z         "int"
2026-06-16T04:57:29.7558825Z       ],
2026-06-16T04:57:29.7558934Z       "stages": {
2026-06-16T04:57:29.7559111Z         "doc": {
2026-06-16T04:57:29.7559220Z           "complete": true,
2026-06-16T04:57:29.7559340Z           "evidence": [
2026-06-16T04:57:29.7559444Z             {
2026-06-16T04:57:29.7559563Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7559665Z               "line": 695
2026-06-16T04:57:29.7559773Z             }
2026-06-16T04:57:29.7559878Z           ]
2026-06-16T04:57:29.7559984Z         },
2026-06-16T04:57:29.7560106Z         "impl": {
2026-06-16T04:57:29.7560215Z           "complete": true,
2026-06-16T04:57:29.7560330Z           "evidence": [
2026-06-16T04:57:29.7560433Z             {
2026-06-16T04:57:29.7560576Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7560681Z               "line": 57
2026-06-16T04:57:29.7560790Z             },
2026-06-16T04:57:29.7560885Z             {
2026-06-16T04:57:29.7561010Z               "path": "installer/install.sh",
2026-06-16T04:57:29.7561124Z               "line": 52
2026-06-16T04:57:29.7561225Z             }
2026-06-16T04:57:29.7561329Z           ]
2026-06-16T04:57:29.7561438Z         },
2026-06-16T04:57:29.7561544Z         "int": {
2026-06-16T04:57:29.7561663Z           "complete": true,
2026-06-16T04:57:29.7561768Z           "evidence": [
2026-06-16T04:57:29.7561873Z             {
2026-06-16T04:57:29.7562011Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T04:57:29.7562130Z               "line": 21
2026-06-16T04:57:29.7562236Z             }
2026-06-16T04:57:29.7562335Z           ]
2026-06-16T04:57:29.7562445Z         },
2026-06-16T04:57:29.7562551Z         "unit": {
2026-06-16T04:57:29.7562668Z           "complete": false,
2026-06-16T04:57:29.7562777Z           "evidence": []
2026-06-16T04:57:29.7562883Z         }
2026-06-16T04:57:29.7562990Z       }
2026-06-16T04:57:29.7563094Z     },
2026-06-16T04:57:29.7563191Z     {
2026-06-16T04:57:29.7563305Z       "id": "REQ-INSTALL-2",
2026-06-16T04:57:29.7563467Z       "title": "Marketplace-repackaging-friendly install",
2026-06-16T04:57:29.7563582Z       "requiredStages": [
2026-06-16T04:57:29.7563691Z         "doc"
2026-06-16T04:57:29.7563796Z       ],
2026-06-16T04:57:29.7563896Z       "stages": {
2026-06-16T04:57:29.7564000Z         "doc": {
2026-06-16T04:57:29.7564106Z           "complete": true,
2026-06-16T04:57:29.7564211Z           "evidence": [
2026-06-16T04:57:29.7564315Z             {
2026-06-16T04:57:29.7564445Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7564559Z               "line": 696
2026-06-16T04:57:29.7564664Z             }
2026-06-16T04:57:29.7564775Z           ]
2026-06-16T04:57:29.7564864Z         },
2026-06-16T04:57:29.7564973Z         "impl": {
2026-06-16T04:57:29.7565089Z           "complete": false,
2026-06-16T04:57:29.7565211Z           "evidence": []
2026-06-16T04:57:29.7565312Z         },
2026-06-16T04:57:29.7565419Z         "int": {
2026-06-16T04:57:29.7565536Z           "complete": false,
2026-06-16T04:57:29.7565649Z           "evidence": []
2026-06-16T04:57:29.7565755Z         },
2026-06-16T04:57:29.7565860Z         "unit": {
2026-06-16T04:57:29.7565978Z           "complete": false,
2026-06-16T04:57:29.7566094Z           "evidence": []
2026-06-16T04:57:29.7566189Z         }
2026-06-16T04:57:29.7566297Z       }
2026-06-16T04:57:29.7566399Z     },
2026-06-16T04:57:29.7566532Z     {
2026-06-16T04:57:29.7566646Z       "id": "REQ-INSTALL-3",
2026-06-16T04:57:29.7566822Z       "title": "Idempotent + interactive-optional first run",
2026-06-16T04:57:29.7567133Z       "requiredStages": [
2026-06-16T04:57:29.7567237Z         "impl",
2026-06-16T04:57:29.7567334Z         "int"
2026-06-16T04:57:29.7567433Z       ],
2026-06-16T04:57:29.7567552Z       "stages": {
2026-06-16T04:57:29.7567644Z         "doc": {
2026-06-16T04:57:29.7567762Z           "complete": false,
2026-06-16T04:57:29.7567866Z           "evidence": []
2026-06-16T04:57:29.7567976Z         },
2026-06-16T04:57:29.7568079Z         "impl": {
2026-06-16T04:57:29.7568183Z           "complete": true,
2026-06-16T04:57:29.7568298Z           "evidence": [
2026-06-16T04:57:29.7568394Z             {
2026-06-16T04:57:29.7568531Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7568646Z               "line": 100
2026-06-16T04:57:29.7568751Z             },
2026-06-16T04:57:29.7568855Z             {
2026-06-16T04:57:29.7569061Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7569179Z               "line": 111
2026-06-16T04:57:29.7569290Z             },
2026-06-16T04:57:29.7569409Z             {
2026-06-16T04:57:29.7569537Z               "path": "installer/install.sh",
2026-06-16T04:57:29.7569647Z               "line": 79
2026-06-16T04:57:29.7569752Z             }
2026-06-16T04:57:29.7569852Z           ]
2026-06-16T04:57:29.7569958Z         },
2026-06-16T04:57:29.7570067Z         "int": {
2026-06-16T04:57:29.7570177Z           "complete": true,
2026-06-16T04:57:29.7570277Z           "evidence": [
2026-06-16T04:57:29.7570381Z             {
2026-06-16T04:57:29.7570530Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T04:57:29.7570634Z               "line": 167
2026-06-16T04:57:29.7570738Z             }
2026-06-16T04:57:29.7570847Z           ]
2026-06-16T04:57:29.7570942Z         },
2026-06-16T04:57:29.7571045Z         "unit": {
2026-06-16T04:57:29.7571160Z           "complete": false,
2026-06-16T04:57:29.7571270Z           "evidence": []
2026-06-16T04:57:29.7571364Z         }
2026-06-16T04:57:29.7571470Z       }
2026-06-16T04:57:29.7571575Z     },
2026-06-16T04:57:29.7571679Z     {
2026-06-16T04:57:29.7571795Z       "id": "REQ-INSTALL-4",
2026-06-16T04:57:29.7572463Z       "title": "Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over",
2026-06-16T04:57:29.7572580Z       "requiredStages": [
2026-06-16T04:57:29.7572686Z         "impl",
2026-06-16T04:57:29.7572787Z         "unit"
2026-06-16T04:57:29.7572890Z       ],
2026-06-16T04:57:29.7572996Z       "stages": {
2026-06-16T04:57:29.7573102Z         "doc": {
2026-06-16T04:57:29.7573219Z           "complete": false,
2026-06-16T04:57:29.7573319Z           "evidence": []
2026-06-16T04:57:29.7573419Z         },
2026-06-16T04:57:29.7573522Z         "impl": {
2026-06-16T04:57:29.7573640Z           "complete": true,
2026-06-16T04:57:29.7573746Z           "evidence": [
2026-06-16T04:57:29.7573851Z             {
2026-06-16T04:57:29.7574008Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.7574113Z               "line": 154
2026-06-16T04:57:29.7574222Z             },
2026-06-16T04:57:29.7574332Z             {
2026-06-16T04:57:29.7574480Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7574584Z               "line": 29
2026-06-16T04:57:29.7574686Z             },
2026-06-16T04:57:29.7574794Z             {
2026-06-16T04:57:29.7574937Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7575053Z               "line": 275
2026-06-16T04:57:29.7575153Z             },
2026-06-16T04:57:29.7575252Z             {
2026-06-16T04:57:29.7575405Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7575505Z               "line": 339
2026-06-16T04:57:29.7575611Z             },
2026-06-16T04:57:29.7575711Z             {
2026-06-16T04:57:29.7575858Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7576091Z               "line": 369
2026-06-16T04:57:29.7576286Z             },
2026-06-16T04:57:29.7576392Z             {
2026-06-16T04:57:29.7576553Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7576668Z               "line": 401
2026-06-16T04:57:29.7576772Z             },
2026-06-16T04:57:29.7576882Z             {
2026-06-16T04:57:29.7577011Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7577125Z               "line": 4874
2026-06-16T04:57:29.7577230Z             }
2026-06-16T04:57:29.7577326Z           ]
2026-06-16T04:57:29.7577426Z         },
2026-06-16T04:57:29.7577531Z         "int": {
2026-06-16T04:57:29.7577650Z           "complete": false,
2026-06-16T04:57:29.7577769Z           "evidence": []
2026-06-16T04:57:29.7577865Z         },
2026-06-16T04:57:29.7577970Z         "unit": {
2026-06-16T04:57:29.7578069Z           "complete": true,
2026-06-16T04:57:29.7578175Z           "evidence": [
2026-06-16T04:57:29.7578275Z             {
2026-06-16T04:57:29.7578440Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.7578559Z               "line": 335
2026-06-16T04:57:29.7578663Z             },
2026-06-16T04:57:29.7578766Z             {
2026-06-16T04:57:29.7578911Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7579105Z               "line": 763
2026-06-16T04:57:29.7579206Z             },
2026-06-16T04:57:29.7579315Z             {
2026-06-16T04:57:29.7579458Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7579569Z               "line": 804
2026-06-16T04:57:29.7579663Z             },
2026-06-16T04:57:29.7579768Z             {
2026-06-16T04:57:29.7579912Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7580016Z               "line": 824
2026-06-16T04:57:29.7580127Z             },
2026-06-16T04:57:29.7580236Z             {
2026-06-16T04:57:29.7580369Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7580489Z               "line": 7065
2026-06-16T04:57:29.7580588Z             }
2026-06-16T04:57:29.7580688Z           ]
2026-06-16T04:57:29.7580790Z         }
2026-06-16T04:57:29.7580889Z       }
2026-06-16T04:57:29.7580984Z     },
2026-06-16T04:57:29.7581086Z     {
2026-06-16T04:57:29.7581213Z       "id": "REQ-INSTALL-5",
2026-06-16T04:57:29.7581730Z       "title": "Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration",
2026-06-16T04:57:29.7581850Z       "requiredStages": [
2026-06-16T04:57:29.7581958Z         "impl",
2026-06-16T04:57:29.7582064Z         "int"
2026-06-16T04:57:29.7582174Z       ],
2026-06-16T04:57:29.7582282Z       "stages": {
2026-06-16T04:57:29.7582388Z         "doc": {
2026-06-16T04:57:29.7582503Z           "complete": false,
2026-06-16T04:57:29.7582616Z           "evidence": []
2026-06-16T04:57:29.7582727Z         },
2026-06-16T04:57:29.7582831Z         "impl": {
2026-06-16T04:57:29.7582955Z           "complete": true,
2026-06-16T04:57:29.7583061Z           "evidence": [
2026-06-16T04:57:29.7583174Z             {
2026-06-16T04:57:29.7583304Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7583409Z               "line": 5
2026-06-16T04:57:29.7583518Z             },
2026-06-16T04:57:29.7583624Z             {
2026-06-16T04:57:29.7583747Z               "path": "installer/install.sh",
2026-06-16T04:57:29.7583855Z               "line": 6
2026-06-16T04:57:29.7583960Z             }
2026-06-16T04:57:29.7584055Z           ]
2026-06-16T04:57:29.7584163Z         },
2026-06-16T04:57:29.7584268Z         "int": {
2026-06-16T04:57:29.7584368Z           "complete": true,
2026-06-16T04:57:29.7584482Z           "evidence": [
2026-06-16T04:57:29.7584597Z             {
2026-06-16T04:57:29.7584778Z               "path": "crates/spt/tests/oneliner_e2e.rs",
2026-06-16T04:57:29.7584887Z               "line": 22
2026-06-16T04:57:29.7584993Z             }
2026-06-16T04:57:29.7585202Z           ]
2026-06-16T04:57:29.7585393Z         },
2026-06-16T04:57:29.7585536Z         "unit": {
2026-06-16T04:57:29.7585646Z           "complete": false,
2026-06-16T04:57:29.7585764Z           "evidence": []
2026-06-16T04:57:29.7585866Z         }
2026-06-16T04:57:29.7585975Z       }
2026-06-16T04:57:29.7586079Z     },
2026-06-16T04:57:29.7586181Z     {
2026-06-16T04:57:29.7586304Z       "id": "REQ-INSTALL-6",
2026-06-16T04:57:29.7587848Z       "title": "Linux elevation install leg: install.sh symlinks the binary into a sudo-reachable path (/usr/local/bin; graceful print-the-one-liner when unelevated) so sudo spt resolves; first sudo spt detects elevation and prompts ONCE for the default user account — thereafter any elevated daemon launch runs daemon + state under that account, never root (KH 5.7 interplay verified) (M8 decision 8)",
2026-06-16T04:57:29.7587976Z       "requiredStages": [
2026-06-16T04:57:29.7588086Z         "impl",
2026-06-16T04:57:29.7588191Z         "unit"
2026-06-16T04:57:29.7588305Z       ],
2026-06-16T04:57:29.7588420Z       "stages": {
2026-06-16T04:57:29.7588525Z         "doc": {
2026-06-16T04:57:29.7588629Z           "complete": false,
2026-06-16T04:57:29.7588749Z           "evidence": []
2026-06-16T04:57:29.7588864Z         },
2026-06-16T04:57:29.7589043Z         "impl": {
2026-06-16T04:57:29.7589167Z           "complete": true,
2026-06-16T04:57:29.7589280Z           "evidence": [
2026-06-16T04:57:29.7589384Z             {
2026-06-16T04:57:29.7589524Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.7589632Z               "line": 61
2026-06-16T04:57:29.7589742Z             },
2026-06-16T04:57:29.7589842Z             {
2026-06-16T04:57:29.7589989Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.7590091Z               "line": 596
2026-06-16T04:57:29.7590204Z             },
2026-06-16T04:57:29.7590309Z             {
2026-06-16T04:57:29.7590458Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7590581Z               "line": 191
2026-06-16T04:57:29.7590687Z             },
2026-06-16T04:57:29.7590791Z             {
2026-06-16T04:57:29.7590938Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7591064Z               "line": 276
2026-06-16T04:57:29.7591167Z             },
2026-06-16T04:57:29.7591273Z             {
2026-06-16T04:57:29.7591411Z               "path": "crates/spt/src/main.rs",
2026-06-16T04:57:29.7591516Z               "line": 42
2026-06-16T04:57:29.7591621Z             },
2026-06-16T04:57:29.7591722Z             {
2026-06-16T04:57:29.7591853Z               "path": "installer/install.sh",
2026-06-16T04:57:29.7591948Z               "line": 104
2026-06-16T04:57:29.7592053Z             }
2026-06-16T04:57:29.7592156Z           ]
2026-06-16T04:57:29.7592261Z         },
2026-06-16T04:57:29.7592362Z         "int": {
2026-06-16T04:57:29.7592466Z           "complete": false,
2026-06-16T04:57:29.7592580Z           "evidence": []
2026-06-16T04:57:29.7592686Z         },
2026-06-16T04:57:29.7592804Z         "unit": {
2026-06-16T04:57:29.7592929Z           "complete": true,
2026-06-16T04:57:29.7593038Z           "evidence": [
2026-06-16T04:57:29.7593143Z             {
2026-06-16T04:57:29.7593292Z               "path": "crates/spt-daemon/src/deelevate.rs",
2026-06-16T04:57:29.7593406Z               "line": 866
2026-06-16T04:57:29.7593510Z             }
2026-06-16T04:57:29.7593616Z           ]
2026-06-16T04:57:29.7593719Z         }
2026-06-16T04:57:29.7593820Z       }
2026-06-16T04:57:29.7593926Z     },
2026-06-16T04:57:29.7594025Z     {
2026-06-16T04:57:29.7594150Z       "id": "REQ-INSTALL-7",
2026-06-16T04:57:29.7595301Z       "title": "Windows inbound reachability: the elevated install leg registers the inbound-UDP firewall rule (New-NetFirewallRule); the daemon self-detects blocked inbound and renders it as the no-connection state in subnet status + the coming-online banner (covers user-scope installs that skip the elevated leg — never a silent NO_SEED_HOLDER dead-end) (M8 root cause 3)",
2026-06-16T04:57:29.7595615Z       "requiredStages": [
2026-06-16T04:57:29.7595724Z         "impl"
2026-06-16T04:57:29.7595825Z       ],
2026-06-16T04:57:29.7595938Z       "stages": {
2026-06-16T04:57:29.7596048Z         "doc": {
2026-06-16T04:57:29.7596169Z           "complete": false,
2026-06-16T04:57:29.7596292Z           "evidence": []
2026-06-16T04:57:29.7596392Z         },
2026-06-16T04:57:29.7596503Z         "impl": {
2026-06-16T04:57:29.7596616Z           "complete": true,
2026-06-16T04:57:29.7596731Z           "evidence": [
2026-06-16T04:57:29.7596832Z             {
2026-06-16T04:57:29.7596959Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7597075Z               "line": 3513
2026-06-16T04:57:29.7597170Z             },
2026-06-16T04:57:29.7597273Z             {
2026-06-16T04:57:29.7597401Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7597517Z               "line": 157
2026-06-16T04:57:29.7597611Z             }
2026-06-16T04:57:29.7597716Z           ]
2026-06-16T04:57:29.7597817Z         },
2026-06-16T04:57:29.7597926Z         "int": {
2026-06-16T04:57:29.7598046Z           "complete": false,
2026-06-16T04:57:29.7598150Z           "evidence": []
2026-06-16T04:57:29.7598259Z         },
2026-06-16T04:57:29.7598360Z         "unit": {
2026-06-16T04:57:29.7598479Z           "complete": false,
2026-06-16T04:57:29.7598593Z           "evidence": []
2026-06-16T04:57:29.7598699Z         }
2026-06-16T04:57:29.7598808Z       }
2026-06-16T04:57:29.7598899Z     },
2026-06-16T04:57:29.7599067Z     {
2026-06-16T04:57:29.7599185Z       "id": "REQ-INSTALL-8",
2026-06-16T04:57:29.7600302Z       "title": "OS-service registration (REQ-INSTALL-1's deferred third leg): Linux systemd USER service + loginctl enable-linger (linger rides the elevated install leg; daemon starts at boot pre-login, user universe per KH 5.7, systemctl --user managed); Windows scheduled task at-logon (interactive session, no stored credentials); a node is reachable after reboot without any manual spt invocation (M8 decision 17)",
2026-06-16T04:57:29.7600431Z       "requiredStages": [
2026-06-16T04:57:29.7600535Z         "impl"
2026-06-16T04:57:29.7600641Z       ],
2026-06-16T04:57:29.7600750Z       "stages": {
2026-06-16T04:57:29.7600859Z         "doc": {
2026-06-16T04:57:29.7600975Z           "complete": false,
2026-06-16T04:57:29.7601079Z           "evidence": []
2026-06-16T04:57:29.7601184Z         },
2026-06-16T04:57:29.7601290Z         "impl": {
2026-06-16T04:57:29.7601408Z           "complete": true,
2026-06-16T04:57:29.7601518Z           "evidence": [
2026-06-16T04:57:29.7601619Z             {
2026-06-16T04:57:29.7601752Z               "path": "installer/install.ps1",
2026-06-16T04:57:29.7601857Z               "line": 184
2026-06-16T04:57:29.7601962Z             },
2026-06-16T04:57:29.7602061Z             {
2026-06-16T04:57:29.7602191Z               "path": "installer/install.sh",
2026-06-16T04:57:29.7602296Z               "line": 121
2026-06-16T04:57:29.7602399Z             }
2026-06-16T04:57:29.7602504Z           ]
2026-06-16T04:57:29.7602608Z         },
2026-06-16T04:57:29.7602716Z         "int": {
2026-06-16T04:57:29.7602831Z           "complete": false,
2026-06-16T04:57:29.7602946Z           "evidence": []
2026-06-16T04:57:29.7603050Z         },
2026-06-16T04:57:29.7603155Z         "unit": {
2026-06-16T04:57:29.7603275Z           "complete": false,
2026-06-16T04:57:29.7603379Z           "evidence": []
2026-06-16T04:57:29.7603485Z         }
2026-06-16T04:57:29.7603585Z       }
2026-06-16T04:57:29.7603694Z     },
2026-06-16T04:57:29.7603794Z     {
2026-06-16T04:57:29.7603913Z       "id": "REQ-KICK-1",
2026-06-16T04:57:29.7606470Z       "title": "Explicit, loud controller displacement: `spt rc kick <target>` / `--take` (Take intent) kicks the incumbent controller and becomes controller; the displaced controller receives a LOUD `Displaced{by}` notice and is FULLY DETACHED (not demoted to a viewer). A default attach to a controlled endpoint is NEVER a silent displace (it is the Control busy-refusal). An old (N-1) rc omits intent → Control, so it can drive a free endpoint but CANNOT `--take` — it can never silently steal, and gets a clean busy-refusal instead. Taking control rides the same access_check(endpoint, origin, Unsolicited) as a normal control attach (if you may drive, you may take — no elevated kick policy). The picker surfaces 'Kick <node> and attach' (Take) only on a controlled (blue ■) endpoint, via the existing attach dispatch (single-bringup-path: intent is a parameter).",
2026-06-16T04:57:29.7606804Z       "requiredStages": [
2026-06-16T04:57:29.7606908Z         "doc",
2026-06-16T04:57:29.7607010Z         "impl",
2026-06-16T04:57:29.7607119Z         "unit",
2026-06-16T04:57:29.7607219Z         "int"
2026-06-16T04:57:29.7607325Z       ],
2026-06-16T04:57:29.7607429Z       "stages": {
2026-06-16T04:57:29.7607533Z         "doc": {
2026-06-16T04:57:29.7607654Z           "complete": true,
2026-06-16T04:57:29.7607753Z           "evidence": [
2026-06-16T04:57:29.7607857Z             {
2026-06-16T04:57:29.7607986Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7608101Z               "line": 323
2026-06-16T04:57:29.7608200Z             }
2026-06-16T04:57:29.7608300Z           ]
2026-06-16T04:57:29.7608411Z         },
2026-06-16T04:57:29.7608510Z         "impl": {
2026-06-16T04:57:29.7608625Z           "complete": true,
2026-06-16T04:57:29.7608720Z           "evidence": [
2026-06-16T04:57:29.7608824Z             {
2026-06-16T04:57:29.7609063Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.7609163Z               "line": 41
2026-06-16T04:57:29.7609264Z             },
2026-06-16T04:57:29.7609368Z             {
2026-06-16T04:57:29.7609497Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.7609603Z               "line": 181
2026-06-16T04:57:29.7609711Z             }
2026-06-16T04:57:29.7609817Z           ]
2026-06-16T04:57:29.7609942Z         },
2026-06-16T04:57:29.7610050Z         "int": {
2026-06-16T04:57:29.7610168Z           "complete": true,
2026-06-16T04:57:29.7610282Z           "evidence": [
2026-06-16T04:57:29.7610390Z             {
2026-06-16T04:57:29.7610543Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.7610658Z               "line": 789
2026-06-16T04:57:29.7610762Z             }
2026-06-16T04:57:29.7610862Z           ]
2026-06-16T04:57:29.7610968Z         },
2026-06-16T04:57:29.7611072Z         "unit": {
2026-06-16T04:57:29.7611197Z           "complete": true,
2026-06-16T04:57:29.7611301Z           "evidence": [
2026-06-16T04:57:29.7611406Z             {
2026-06-16T04:57:29.7611549Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.7611658Z               "line": 205
2026-06-16T04:57:29.7611758Z             }
2026-06-16T04:57:29.7611869Z           ]
2026-06-16T04:57:29.7611978Z         }
2026-06-16T04:57:29.7612078Z       }
2026-06-16T04:57:29.7612188Z     },
2026-06-16T04:57:29.7612283Z     {
2026-06-16T04:57:29.7612408Z       "id": "REQ-MANIFEST-1",
2026-06-16T04:57:29.7612636Z       "title": "Per-adapter manifest with adapter_name and min_spt_core_version",
2026-06-16T04:57:29.7612737Z       "requiredStages": [
2026-06-16T04:57:29.7612846Z         "doc",
2026-06-16T04:57:29.7612945Z         "impl",
2026-06-16T04:57:29.7613050Z         "unit"
2026-06-16T04:57:29.7613154Z       ],
2026-06-16T04:57:29.7613253Z       "stages": {
2026-06-16T04:57:29.7613357Z         "doc": {
2026-06-16T04:57:29.7613473Z           "complete": true,
2026-06-16T04:57:29.7613591Z           "evidence": [
2026-06-16T04:57:29.7613696Z             {
2026-06-16T04:57:29.7613820Z               "path": "docs/MANIFEST.md",
2026-06-16T04:57:29.7613929Z               "line": 19
2026-06-16T04:57:29.7614040Z             }
2026-06-16T04:57:29.7614140Z           ]
2026-06-16T04:57:29.7614239Z         },
2026-06-16T04:57:29.7614345Z         "impl": {
2026-06-16T04:57:29.7614459Z           "complete": true,
2026-06-16T04:57:29.7614564Z           "evidence": [
2026-06-16T04:57:29.7614664Z             {
2026-06-16T04:57:29.7614940Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7615150Z               "line": 18
2026-06-16T04:57:29.7615250Z             }
2026-06-16T04:57:29.7615361Z           ]
2026-06-16T04:57:29.7615465Z         },
2026-06-16T04:57:29.7615568Z         "int": {
2026-06-16T04:57:29.7615674Z           "complete": false,
2026-06-16T04:57:29.7615786Z           "evidence": []
2026-06-16T04:57:29.7615890Z         },
2026-06-16T04:57:29.7615996Z         "unit": {
2026-06-16T04:57:29.7616111Z           "complete": true,
2026-06-16T04:57:29.7616214Z           "evidence": [
2026-06-16T04:57:29.7616321Z             {
2026-06-16T04:57:29.7616468Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7616582Z               "line": 930
2026-06-16T04:57:29.7616692Z             },
2026-06-16T04:57:29.7616797Z             {
2026-06-16T04:57:29.7616941Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7617049Z               "line": 1044
2026-06-16T04:57:29.7617159Z             },
2026-06-16T04:57:29.7617270Z             {
2026-06-16T04:57:29.7617412Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7623989Z               "line": 1056
2026-06-16T04:57:29.7624132Z             },
2026-06-16T04:57:29.7624237Z             {
2026-06-16T04:57:29.7624405Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7624513Z               "line": 1067
2026-06-16T04:57:29.7624615Z             },
2026-06-16T04:57:29.7624714Z             {
2026-06-16T04:57:29.7624866Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7624977Z               "line": 1084
2026-06-16T04:57:29.7625076Z             },
2026-06-16T04:57:29.7625186Z             {
2026-06-16T04:57:29.7625329Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7625434Z               "line": 1098
2026-06-16T04:57:29.7625540Z             },
2026-06-16T04:57:29.7625644Z             {
2026-06-16T04:57:29.7625815Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7625931Z               "line": 1214
2026-06-16T04:57:29.7626044Z             },
2026-06-16T04:57:29.7626148Z             {
2026-06-16T04:57:29.7626309Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7626436Z               "line": 1229
2026-06-16T04:57:29.7626547Z             },
2026-06-16T04:57:29.7626657Z             {
2026-06-16T04:57:29.7626799Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7626914Z               "line": 1340
2026-06-16T04:57:29.7627014Z             },
2026-06-16T04:57:29.7627118Z             {
2026-06-16T04:57:29.7627267Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7627376Z               "line": 1351
2026-06-16T04:57:29.7627482Z             }
2026-06-16T04:57:29.7627586Z           ]
2026-06-16T04:57:29.7627690Z         }
2026-06-16T04:57:29.7627791Z       }
2026-06-16T04:57:29.7627896Z     },
2026-06-16T04:57:29.7628001Z     {
2026-06-16T04:57:29.7628121Z       "id": "REQ-MANIFEST-2",
2026-06-16T04:57:29.7628692Z       "title": "Adapter profiles — sparse leaf-replace overlays (shipped + local), composite <adapter>:<profile> addressing, shadow-refusal, tighten-only consent floors",
2026-06-16T04:57:29.7628807Z       "requiredStages": [
2026-06-16T04:57:29.7628911Z         "doc",
2026-06-16T04:57:29.7629097Z         "impl",
2026-06-16T04:57:29.7629202Z         "unit"
2026-06-16T04:57:29.7629310Z       ],
2026-06-16T04:57:29.7629416Z       "stages": {
2026-06-16T04:57:29.7629511Z         "doc": {
2026-06-16T04:57:29.7629630Z           "complete": true,
2026-06-16T04:57:29.7629745Z           "evidence": [
2026-06-16T04:57:29.7629855Z             {
2026-06-16T04:57:29.7629978Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7630094Z               "line": 75
2026-06-16T04:57:29.7630188Z             }
2026-06-16T04:57:29.7630293Z           ]
2026-06-16T04:57:29.7630399Z         },
2026-06-16T04:57:29.7630656Z         "impl": {
2026-06-16T04:57:29.7630865Z           "complete": true,
2026-06-16T04:57:29.7630985Z           "evidence": [
2026-06-16T04:57:29.7631081Z             {
2026-06-16T04:57:29.7631232Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7631341Z               "line": 62
2026-06-16T04:57:29.7631436Z             },
2026-06-16T04:57:29.7631544Z             {
2026-06-16T04:57:29.7631697Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7631802Z               "line": 15
2026-06-16T04:57:29.7631906Z             },
2026-06-16T04:57:29.7632007Z             {
2026-06-16T04:57:29.7632158Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7632259Z               "line": 65
2026-06-16T04:57:29.7632364Z             },
2026-06-16T04:57:29.7632469Z             {
2026-06-16T04:57:29.7632617Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7632722Z               "line": 83
2026-06-16T04:57:29.7632831Z             },
2026-06-16T04:57:29.7632946Z             {
2026-06-16T04:57:29.7633089Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7633203Z               "line": 183
2026-06-16T04:57:29.7633305Z             },
2026-06-16T04:57:29.7633398Z             {
2026-06-16T04:57:29.7633538Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7633643Z               "line": 482
2026-06-16T04:57:29.7633747Z             },
2026-06-16T04:57:29.7633853Z             {
2026-06-16T04:57:29.7634009Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7634113Z               "line": 508
2026-06-16T04:57:29.7634218Z             },
2026-06-16T04:57:29.7634317Z             {
2026-06-16T04:57:29.7634458Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7634569Z               "line": 626
2026-06-16T04:57:29.7634673Z             },
2026-06-16T04:57:29.7634782Z             {
2026-06-16T04:57:29.7634926Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7635049Z               "line": 651
2026-06-16T04:57:29.7635150Z             },
2026-06-16T04:57:29.7635250Z             {
2026-06-16T04:57:29.7635402Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7635509Z               "line": 674
2026-06-16T04:57:29.7635608Z             },
2026-06-16T04:57:29.7635713Z             {
2026-06-16T04:57:29.7635871Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7635984Z               "line": 689
2026-06-16T04:57:29.7636095Z             },
2026-06-16T04:57:29.7636195Z             {
2026-06-16T04:57:29.7636333Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7636468Z               "line": 5024
2026-06-16T04:57:29.7636585Z             },
2026-06-16T04:57:29.7636684Z             {
2026-06-16T04:57:29.7636818Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7636930Z               "line": 5038
2026-06-16T04:57:29.7637049Z             },
2026-06-16T04:57:29.7637160Z             {
2026-06-16T04:57:29.7637292Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7637402Z               "line": 5072
2026-06-16T04:57:29.7637507Z             }
2026-06-16T04:57:29.7637616Z           ]
2026-06-16T04:57:29.7637717Z         },
2026-06-16T04:57:29.7637827Z         "int": {
2026-06-16T04:57:29.7637941Z           "complete": false,
2026-06-16T04:57:29.7638061Z           "evidence": []
2026-06-16T04:57:29.7638170Z         },
2026-06-16T04:57:29.7638275Z         "unit": {
2026-06-16T04:57:29.7638395Z           "complete": true,
2026-06-16T04:57:29.7638508Z           "evidence": [
2026-06-16T04:57:29.7638608Z             {
2026-06-16T04:57:29.7638757Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.7638876Z               "line": 920
2026-06-16T04:57:29.7639062Z             },
2026-06-16T04:57:29.7639161Z             {
2026-06-16T04:57:29.7639310Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7639609Z               "line": 211
2026-06-16T04:57:29.7639715Z             },
2026-06-16T04:57:29.7639819Z             {
2026-06-16T04:57:29.7639967Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7640081Z               "line": 272
2026-06-16T04:57:29.7640181Z             },
2026-06-16T04:57:29.7640277Z             {
2026-06-16T04:57:29.7640420Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7640538Z               "line": 313
2026-06-16T04:57:29.7640639Z             },
2026-06-16T04:57:29.7640739Z             {
2026-06-16T04:57:29.7640882Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7640992Z               "line": 325
2026-06-16T04:57:29.7641102Z             },
2026-06-16T04:57:29.7641197Z             {
2026-06-16T04:57:29.7641340Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7641435Z               "line": 336
2026-06-16T04:57:29.7641545Z             },
2026-06-16T04:57:29.7641655Z             {
2026-06-16T04:57:29.7641801Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7641901Z               "line": 345
2026-06-16T04:57:29.7642005Z             },
2026-06-16T04:57:29.7642109Z             {
2026-06-16T04:57:29.7642247Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7642362Z               "line": 361
2026-06-16T04:57:29.7642471Z             },
2026-06-16T04:57:29.7642572Z             {
2026-06-16T04:57:29.7642710Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7642814Z               "line": 444
2026-06-16T04:57:29.7642916Z             },
2026-06-16T04:57:29.7643015Z             {
2026-06-16T04:57:29.7643163Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7643282Z               "line": 877
2026-06-16T04:57:29.7643381Z             },
2026-06-16T04:57:29.7643488Z             {
2026-06-16T04:57:29.7643630Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7643759Z               "line": 901
2026-06-16T04:57:29.7643855Z             },
2026-06-16T04:57:29.7643958Z             {
2026-06-16T04:57:29.7644093Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7644198Z               "line": 927
2026-06-16T04:57:29.7644307Z             },
2026-06-16T04:57:29.7644408Z             {
2026-06-16T04:57:29.7644551Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7644659Z               "line": 946
2026-06-16T04:57:29.7644768Z             },
2026-06-16T04:57:29.7644872Z             {
2026-06-16T04:57:29.7645018Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7645129Z               "line": 977
2026-06-16T04:57:29.7645229Z             },
2026-06-16T04:57:29.7645338Z             {
2026-06-16T04:57:29.7645491Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.7645590Z               "line": 309
2026-06-16T04:57:29.7645701Z             },
2026-06-16T04:57:29.7645806Z             {
2026-06-16T04:57:29.7645943Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.7646044Z               "line": 532
2026-06-16T04:57:29.7646149Z             },
2026-06-16T04:57:29.7646263Z             {
2026-06-16T04:57:29.7646393Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7646501Z               "line": 7252
2026-06-16T04:57:29.7646607Z             },
2026-06-16T04:57:29.7646708Z             {
2026-06-16T04:57:29.7646835Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7646950Z               "line": 8162
2026-06-16T04:57:29.7647056Z             }
2026-06-16T04:57:29.7647154Z           ]
2026-06-16T04:57:29.7647258Z         }
2026-06-16T04:57:29.7647359Z       }
2026-06-16T04:57:29.7647462Z     },
2026-06-16T04:57:29.7647561Z     {
2026-06-16T04:57:29.7647676Z       "id": "REQ-MANIFEST-3",
2026-06-16T04:57:29.7648339Z       "title": "Adapter strings — [strings] KV tree, dot-path get-string resolving through the profile leaf-replace overlay, set-string editing a local profile's [strings] only; data-only (nothing executes a string)",
2026-06-16T04:57:29.7648631Z       "requiredStages": [
2026-06-16T04:57:29.7648744Z         "doc",
2026-06-16T04:57:29.7648849Z         "impl",
2026-06-16T04:57:29.7649021Z         "unit"
2026-06-16T04:57:29.7649116Z       ],
2026-06-16T04:57:29.7649222Z       "stages": {
2026-06-16T04:57:29.7649321Z         "doc": {
2026-06-16T04:57:29.7649431Z           "complete": true,
2026-06-16T04:57:29.7649537Z           "evidence": [
2026-06-16T04:57:29.7649641Z             {
2026-06-16T04:57:29.7649765Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7649875Z               "line": 81
2026-06-16T04:57:29.7649979Z             }
2026-06-16T04:57:29.7650088Z           ]
2026-06-16T04:57:29.7650183Z         },
2026-06-16T04:57:29.7650303Z         "impl": {
2026-06-16T04:57:29.7650412Z           "complete": true,
2026-06-16T04:57:29.7650532Z           "evidence": [
2026-06-16T04:57:29.7650641Z             {
2026-06-16T04:57:29.7650788Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7650899Z               "line": 72
2026-06-16T04:57:29.7650990Z             },
2026-06-16T04:57:29.7651088Z             {
2026-06-16T04:57:29.7651237Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7651351Z               "line": 101
2026-06-16T04:57:29.7651457Z             },
2026-06-16T04:57:29.7651562Z             {
2026-06-16T04:57:29.7651704Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7651815Z               "line": 132
2026-06-16T04:57:29.7651914Z             },
2026-06-16T04:57:29.7652014Z             {
2026-06-16T04:57:29.7652163Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7652281Z               "line": 532
2026-06-16T04:57:29.7652390Z             },
2026-06-16T04:57:29.7652490Z             {
2026-06-16T04:57:29.7652640Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7652760Z               "line": 588
2026-06-16T04:57:29.7652865Z             },
2026-06-16T04:57:29.7652964Z             {
2026-06-16T04:57:29.7653103Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7653198Z               "line": 5085
2026-06-16T04:57:29.7653307Z             },
2026-06-16T04:57:29.7653404Z             {
2026-06-16T04:57:29.7653532Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7653631Z               "line": 5111
2026-06-16T04:57:29.7653742Z             }
2026-06-16T04:57:29.7653851Z           ]
2026-06-16T04:57:29.7653955Z         },
2026-06-16T04:57:29.7654062Z         "int": {
2026-06-16T04:57:29.7654180Z           "complete": false,
2026-06-16T04:57:29.7654294Z           "evidence": []
2026-06-16T04:57:29.7654401Z         },
2026-06-16T04:57:29.7654504Z         "unit": {
2026-06-16T04:57:29.7654619Z           "complete": true,
2026-06-16T04:57:29.7654734Z           "evidence": [
2026-06-16T04:57:29.7654847Z             {
2026-06-16T04:57:29.7654992Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7655106Z               "line": 371
2026-06-16T04:57:29.7655204Z             },
2026-06-16T04:57:29.7655305Z             {
2026-06-16T04:57:29.7655460Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7655569Z               "line": 429
2026-06-16T04:57:29.7655679Z             },
2026-06-16T04:57:29.7655785Z             {
2026-06-16T04:57:29.7655931Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7656047Z               "line": 1001
2026-06-16T04:57:29.7656146Z             },
2026-06-16T04:57:29.7656246Z             {
2026-06-16T04:57:29.7656366Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7656489Z               "line": 7307
2026-06-16T04:57:29.7656590Z             }
2026-06-16T04:57:29.7656700Z           ]
2026-06-16T04:57:29.7656795Z         }
2026-06-16T04:57:29.7657005Z       }
2026-06-16T04:57:29.7657110Z     },
2026-06-16T04:57:29.7657297Z     {
2026-06-16T04:57:29.7657424Z       "id": "REQ-MANIFEST-4",
2026-06-16T04:57:29.7658154Z       "title": "Keyword hints — [[hints]] {keywords (literal/regex), text}; spt api hint --session emits at most one matched hint per message, once per session (seen-set), declaration-order first match; profiles overlay [[hints]] by leaf-replace",
2026-06-16T04:57:29.7658280Z       "requiredStages": [
2026-06-16T04:57:29.7658384Z         "doc",
2026-06-16T04:57:29.7658489Z         "impl",
2026-06-16T04:57:29.7658599Z         "unit"
2026-06-16T04:57:29.7658698Z       ],
2026-06-16T04:57:29.7658803Z       "stages": {
2026-06-16T04:57:29.7658909Z         "doc": {
2026-06-16T04:57:29.7659118Z           "complete": true,
2026-06-16T04:57:29.7659229Z           "evidence": [
2026-06-16T04:57:29.7659333Z             {
2026-06-16T04:57:29.7659452Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7659576Z               "line": 88
2026-06-16T04:57:29.7659685Z             }
2026-06-16T04:57:29.7659801Z           ]
2026-06-16T04:57:29.7659900Z         },
2026-06-16T04:57:29.7660010Z         "impl": {
2026-06-16T04:57:29.7660116Z           "complete": true,
2026-06-16T04:57:29.7660225Z           "evidence": [
2026-06-16T04:57:29.7660334Z             {
2026-06-16T04:57:29.7660484Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7660595Z               "line": 80
2026-06-16T04:57:29.7660700Z             },
2026-06-16T04:57:29.7660806Z             {
2026-06-16T04:57:29.7660953Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7661053Z               "line": 152
2026-06-16T04:57:29.7661154Z             },
2026-06-16T04:57:29.7661258Z             {
2026-06-16T04:57:29.7661402Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7661516Z               "line": 83
2026-06-16T04:57:29.7661606Z             },
2026-06-16T04:57:29.7661716Z             {
2026-06-16T04:57:29.7661864Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7661978Z               "line": 625
2026-06-16T04:57:29.7662070Z             },
2026-06-16T04:57:29.7662179Z             {
2026-06-16T04:57:29.7662332Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7662432Z               "line": 650
2026-06-16T04:57:29.7662536Z             }
2026-06-16T04:57:29.7662636Z           ]
2026-06-16T04:57:29.7662747Z         },
2026-06-16T04:57:29.7662846Z         "int": {
2026-06-16T04:57:29.7662969Z           "complete": false,
2026-06-16T04:57:29.7663078Z           "evidence": []
2026-06-16T04:57:29.7663177Z         },
2026-06-16T04:57:29.7663276Z         "unit": {
2026-06-16T04:57:29.7663382Z           "complete": true,
2026-06-16T04:57:29.7663496Z           "evidence": [
2026-06-16T04:57:29.7663596Z             {
2026-06-16T04:57:29.7663745Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7663863Z               "line": 1164
2026-06-16T04:57:29.7663974Z             },
2026-06-16T04:57:29.7664116Z             {
2026-06-16T04:57:29.7664254Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7664379Z               "line": 1197
2026-06-16T04:57:29.7664478Z             },
2026-06-16T04:57:29.7664574Z             {
2026-06-16T04:57:29.7664717Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7664822Z               "line": 982
2026-06-16T04:57:29.7664928Z             }
2026-06-16T04:57:29.7665031Z           ]
2026-06-16T04:57:29.7665132Z         }
2026-06-16T04:57:29.7665238Z       }
2026-06-16T04:57:29.7665346Z     },
2026-06-16T04:57:29.7665447Z     {
2026-06-16T04:57:29.7665562Z       "id": "REQ-MANIFEST-5",
2026-06-16T04:57:29.7668484Z       "title": "File-backed adapter [strings] (M12-W3-T3.1): a [strings] dot-path value MAY be an inline-table FILE POINTER `key = { file = \"rel/path\" }` resolved to the file's contents at get-string time, keeping large bodies (skill-instructions, hint text) out of the manifest. A value-position table with a `file` key IS the pointer form (reserved — cannot double as data). Per-adapter aux storage `adapters/<adapter>/strings/`; pointers resolve relative to it with CONTAINMENT (reject `..`/absolute escaping the dir). UPDATE-SAFETY: a LOCAL profile's file-pointers resolve relative to the user-owned local-profile dir (NOT adapter-shipped strings/, which adapter updates overwrite), or the local profile inlines. Validate-at-register (fail-fast on a bad/escaping/missing pointer) + LAZY read at get-string (live file edits reflect, no re-register) + skip-diagnostics on missing-at-read (no hard-crash, mirrors [digest]). Rides the same leaf-replace profile overlay as the rest of [strings].",
2026-06-16T04:57:29.7668806Z       "requiredStages": [
2026-06-16T04:57:29.7668907Z         "doc",
2026-06-16T04:57:29.7669083Z         "impl",
2026-06-16T04:57:29.7669187Z         "unit"
2026-06-16T04:57:29.7669282Z       ],
2026-06-16T04:57:29.7669402Z       "stages": {
2026-06-16T04:57:29.7669512Z         "doc": {
2026-06-16T04:57:29.7669664Z           "complete": true,
2026-06-16T04:57:29.7669760Z           "evidence": [
2026-06-16T04:57:29.7669869Z             {
2026-06-16T04:57:29.7669988Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7670095Z               "line": 83
2026-06-16T04:57:29.7670194Z             }
2026-06-16T04:57:29.7670299Z           ]
2026-06-16T04:57:29.7670400Z         },
2026-06-16T04:57:29.7670507Z         "impl": {
2026-06-16T04:57:29.7670623Z           "complete": true,
2026-06-16T04:57:29.7670719Z           "evidence": [
2026-06-16T04:57:29.7670817Z             {
2026-06-16T04:57:29.7670962Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7671077Z               "line": 120
2026-06-16T04:57:29.7671179Z             }
2026-06-16T04:57:29.7671284Z           ]
2026-06-16T04:57:29.7671385Z         },
2026-06-16T04:57:29.7671489Z         "int": {
2026-06-16T04:57:29.7671603Z           "complete": false,
2026-06-16T04:57:29.7671724Z           "evidence": []
2026-06-16T04:57:29.7671832Z         },
2026-06-16T04:57:29.7671938Z         "unit": {
2026-06-16T04:57:29.7672047Z           "complete": true,
2026-06-16T04:57:29.7672166Z           "evidence": [
2026-06-16T04:57:29.7672262Z             {
2026-06-16T04:57:29.7672419Z               "path": "crates/spt-runtime/src/profile.rs",
2026-06-16T04:57:29.7672538Z               "line": 404
2026-06-16T04:57:29.7672640Z             },
2026-06-16T04:57:29.7672743Z             {
2026-06-16T04:57:29.7672887Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7672997Z               "line": 1074
2026-06-16T04:57:29.7673096Z             },
2026-06-16T04:57:29.7673196Z             {
2026-06-16T04:57:29.7673335Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7673453Z               "line": 1103
2026-06-16T04:57:29.7673562Z             },
2026-06-16T04:57:29.7673666Z             {
2026-06-16T04:57:29.7673841Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7673966Z               "line": 1143
2026-06-16T04:57:29.7674061Z             },
2026-06-16T04:57:29.7674166Z             {
2026-06-16T04:57:29.7674314Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7674423Z               "line": 1158
2026-06-16T04:57:29.7674529Z             }
2026-06-16T04:57:29.7674629Z           ]
2026-06-16T04:57:29.7674728Z         }
2026-06-16T04:57:29.7674829Z       }
2026-06-16T04:57:29.7674934Z     },
2026-06-16T04:57:29.7675038Z     {
2026-06-16T04:57:29.7675163Z       "id": "REQ-MANIFEST-6",
2026-06-16T04:57:29.7677367Z       "title": "Cross-adapter fallback target addressing (M12-W3-T3.2): a cross-adapter fallback target is addressed as `<adapter>:<profile>` (not just a bare adapter_name), resolved through the one composite-addressing resolver (registry::resolve_option) at every adapter-option read site so a fallback may select a shipped/local profile (e.g. a `ccs` profile). CONTEXT.md §cross-adapter-fallback reconciled (\"ccs is a profile; cross-adapter fallback may target <adapter>:<profile>\"). Contract-only this milestone: the node-wide fallback SETTING + its rate-limit invocation are deferred to the consuming milestone (the runtime path does not exist yet); this REQ guarantees the ADDRESSING resolves.",
2026-06-16T04:57:29.7677672Z       "requiredStages": [
2026-06-16T04:57:29.7677777Z         "doc",
2026-06-16T04:57:29.7677887Z         "unit"
2026-06-16T04:57:29.7677977Z       ],
2026-06-16T04:57:29.7678078Z       "stages": {
2026-06-16T04:57:29.7678182Z         "doc": {
2026-06-16T04:57:29.7678301Z           "complete": true,
2026-06-16T04:57:29.7678402Z           "evidence": [
2026-06-16T04:57:29.7678511Z             {
2026-06-16T04:57:29.7678631Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7678732Z               "line": 139
2026-06-16T04:57:29.7678835Z             }
2026-06-16T04:57:29.7679025Z           ]
2026-06-16T04:57:29.7679124Z         },
2026-06-16T04:57:29.7679222Z         "impl": {
2026-06-16T04:57:29.7679352Z           "complete": false,
2026-06-16T04:57:29.7679476Z           "evidence": []
2026-06-16T04:57:29.7679571Z         },
2026-06-16T04:57:29.7679686Z         "int": {
2026-06-16T04:57:29.7679791Z           "complete": false,
2026-06-16T04:57:29.7679905Z           "evidence": []
2026-06-16T04:57:29.7680006Z         },
2026-06-16T04:57:29.7680101Z         "unit": {
2026-06-16T04:57:29.7680219Z           "complete": true,
2026-06-16T04:57:29.7680325Z           "evidence": [
2026-06-16T04:57:29.7680429Z             {
2026-06-16T04:57:29.7680582Z               "path": "crates/spt-runtime/src/registry.rs",
2026-06-16T04:57:29.7680687Z               "line": 1180
2026-06-16T04:57:29.7680792Z             }
2026-06-16T04:57:29.7680897Z           ]
2026-06-16T04:57:29.7681007Z         }
2026-06-16T04:57:29.7681107Z       }
2026-06-16T04:57:29.7681212Z     },
2026-06-16T04:57:29.7681317Z     {
2026-06-16T04:57:29.7681440Z       "id": "REQ-MANIFEST-7",
2026-06-16T04:57:29.7684493Z       "title": "Adapter-declared shortcut basename (M12-W2 follow-on): an optional `[adapter] shortcut_basename` manifest field names the basename the `spt endpoint run` picker bakes into the generated `<basename>-<id>` launcher shortcut (REQ-RUN-SHORTCUT). Absent ⇒ the harness-agnostic default `spt` (→ `spt-<id>`); an adapter sets it to brand its shortcuts (claude-spt → `cc` → `cc-<id>`), so the Claude-Code-ness lives in the PUBLISHED adapter manifest, never hardcoded in spt-core. The picker reads it from the RESOLVED manifest of the selected adapter (registry::resolve_option), falling back to `spt` when absent/empty/unresolvable. Additive + N-1-safe (serde-default Option, omitted from serialization when absent; old manifests parse clean); manifest.schema.json regenerated from the derive (ADR-0001, CI drift-gated). Documented in docs/MANIFEST.md `[adapter]` section + the claude-spt worked example — the adapter-author contract perri builds spt-claude-code against.",
2026-06-16T04:57:29.7684631Z       "requiredStages": [
2026-06-16T04:57:29.7684721Z         "doc",
2026-06-16T04:57:29.7684846Z         "impl",
2026-06-16T04:57:29.7684945Z         "unit"
2026-06-16T04:57:29.7685050Z       ],
2026-06-16T04:57:29.7685160Z       "stages": {
2026-06-16T04:57:29.7685264Z         "doc": {
2026-06-16T04:57:29.7685384Z           "complete": true,
2026-06-16T04:57:29.7685484Z           "evidence": [
2026-06-16T04:57:29.7685594Z             {
2026-06-16T04:57:29.7685718Z               "path": "docs/MANIFEST.md",
2026-06-16T04:57:29.7685842Z               "line": 34
2026-06-16T04:57:29.7685937Z             }
2026-06-16T04:57:29.7686038Z           ]
2026-06-16T04:57:29.7686156Z         },
2026-06-16T04:57:29.7686276Z         "impl": {
2026-06-16T04:57:29.7686392Z           "complete": true,
2026-06-16T04:57:29.7686499Z           "evidence": [
2026-06-16T04:57:29.7686609Z             {
2026-06-16T04:57:29.7686763Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T04:57:29.7686876Z               "line": 54
2026-06-16T04:57:29.7687089Z             }
2026-06-16T04:57:29.7687293Z           ]
2026-06-16T04:57:29.7687389Z         },
2026-06-16T04:57:29.7687493Z         "int": {
2026-06-16T04:57:29.7687612Z           "complete": false,
2026-06-16T04:57:29.7687723Z           "evidence": []
2026-06-16T04:57:29.7687817Z         },
2026-06-16T04:57:29.7687922Z         "unit": {
2026-06-16T04:57:29.7688032Z           "complete": true,
2026-06-16T04:57:29.7688141Z           "evidence": [
2026-06-16T04:57:29.7688242Z             {
2026-06-16T04:57:29.7688399Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7688509Z               "line": 1357
2026-06-16T04:57:29.7688605Z             }
2026-06-16T04:57:29.7688709Z           ]
2026-06-16T04:57:29.7688814Z         }
2026-06-16T04:57:29.7688915Z       }
2026-06-16T04:57:29.7689094Z     },
2026-06-16T04:57:29.7689201Z     {
2026-06-16T04:57:29.7689306Z       "id": "REQ-MESH-1",
2026-06-16T04:57:29.7691414Z       "title": "Membership proof (seed-proof): symmetric current-epoch seed-knowledge replaces is_trusted at EVERY inbound gate (registry apply, WAN receive, sync, notif, connection accept). MK = HKDF(seed, domain ‖ subnet_id ‖ seed_epoch); mutual channel-bound challenge-response at connect (transcript binds both handshake-proven node pubkeys, both nonces, subnet_id, seed_epoch, role); verified once per connection, cached on the broker ConnEntry, kept warm via QUIC keep-alive so re-proof is restart/partition/rotation-only. Exact-epoch match (re-seed is the sole N-1 exception). SECURITY INVARIANTS: channel-bound (no cross-connection replay), mutual, accepts a member it never paired (the mesh property).",
2026-06-16T04:57:29.7691553Z       "requiredStages": [
2026-06-16T04:57:29.7691657Z         "impl",
2026-06-16T04:57:29.7691767Z         "unit",
2026-06-16T04:57:29.7691868Z         "int"
2026-06-16T04:57:29.7691966Z       ],
2026-06-16T04:57:29.7692077Z       "stages": {
2026-06-16T04:57:29.7692183Z         "doc": {
2026-06-16T04:57:29.7692304Z           "complete": false,
2026-06-16T04:57:29.7692433Z           "evidence": []
2026-06-16T04:57:29.7692539Z         },
2026-06-16T04:57:29.7692647Z         "impl": {
2026-06-16T04:57:29.7692758Z           "complete": true,
2026-06-16T04:57:29.7692872Z           "evidence": [
2026-06-16T04:57:29.7692976Z             {
2026-06-16T04:57:29.7693135Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.7693249Z               "line": 845
2026-06-16T04:57:29.7693353Z             },
2026-06-16T04:57:29.7693459Z             {
2026-06-16T04:57:29.7693601Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7693707Z               "line": 38
2026-06-16T04:57:29.7693812Z             },
2026-06-16T04:57:29.7693916Z             {
2026-06-16T04:57:29.7694070Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7694169Z               "line": 161
2026-06-16T04:57:29.7694283Z             },
2026-06-16T04:57:29.7694380Z             {
2026-06-16T04:57:29.7694535Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7694649Z               "line": 206
2026-06-16T04:57:29.7694754Z             },
2026-06-16T04:57:29.7694862Z             {
2026-06-16T04:57:29.7695005Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7695120Z               "line": 57
2026-06-16T04:57:29.7695224Z             },
2026-06-16T04:57:29.7695329Z             {
2026-06-16T04:57:29.7695482Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7695600Z               "line": 24
2026-06-16T04:57:29.7695711Z             },
2026-06-16T04:57:29.7695806Z             {
2026-06-16T04:57:29.7695969Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7696092Z               "line": 142
2026-06-16T04:57:29.7696201Z             },
2026-06-16T04:57:29.7696303Z             {
2026-06-16T04:57:29.7696454Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7696670Z               "line": 162
2026-06-16T04:57:29.7696874Z             }
2026-06-16T04:57:29.7696975Z           ]
2026-06-16T04:57:29.7697078Z         },
2026-06-16T04:57:29.7697189Z         "int": {
2026-06-16T04:57:29.7697304Z           "complete": true,
2026-06-16T04:57:29.7697421Z           "evidence": [
2026-06-16T04:57:29.7697521Z             {
2026-06-16T04:57:29.7697672Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T04:57:29.7697781Z               "line": 67
2026-06-16T04:57:29.7697886Z             },
2026-06-16T04:57:29.7697982Z             {
2026-06-16T04:57:29.7698133Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T04:57:29.7698240Z               "line": 93
2026-06-16T04:57:29.7698340Z             },
2026-06-16T04:57:29.7698439Z             {
2026-06-16T04:57:29.7698592Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T04:57:29.7698701Z               "line": 117
2026-06-16T04:57:29.7698802Z             },
2026-06-16T04:57:29.7698917Z             {
2026-06-16T04:57:29.7699136Z               "path": "crates/spt-daemon/tests/seedproofx.rs",
2026-06-16T04:57:29.7699250Z               "line": 134
2026-06-16T04:57:29.7699355Z             }
2026-06-16T04:57:29.7699465Z           ]
2026-06-16T04:57:29.7699570Z         },
2026-06-16T04:57:29.7699674Z         "unit": {
2026-06-16T04:57:29.7699790Z           "complete": true,
2026-06-16T04:57:29.7699894Z           "evidence": [
2026-06-16T04:57:29.7699998Z             {
2026-06-16T04:57:29.7700141Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7700249Z               "line": 427
2026-06-16T04:57:29.7700352Z             },
2026-06-16T04:57:29.7700458Z             {
2026-06-16T04:57:29.7700615Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7700725Z               "line": 376
2026-06-16T04:57:29.7700830Z             },
2026-06-16T04:57:29.7700930Z             {
2026-06-16T04:57:29.7701088Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7701211Z               "line": 412
2026-06-16T04:57:29.7701311Z             },
2026-06-16T04:57:29.7701417Z             {
2026-06-16T04:57:29.7701564Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7701674Z               "line": 427
2026-06-16T04:57:29.7701775Z             },
2026-06-16T04:57:29.7701879Z             {
2026-06-16T04:57:29.7702032Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7702136Z               "line": 438
2026-06-16T04:57:29.7702237Z             },
2026-06-16T04:57:29.7702337Z             {
2026-06-16T04:57:29.7702484Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7702584Z               "line": 449
2026-06-16T04:57:29.7702691Z             },
2026-06-16T04:57:29.7702794Z             {
2026-06-16T04:57:29.7702955Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7703071Z               "line": 460
2026-06-16T04:57:29.7703180Z             },
2026-06-16T04:57:29.7703284Z             {
2026-06-16T04:57:29.7703437Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7703541Z               "line": 496
2026-06-16T04:57:29.7703643Z             },
2026-06-16T04:57:29.7703742Z             {
2026-06-16T04:57:29.7703889Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7703995Z               "line": 519
2026-06-16T04:57:29.7704099Z             },
2026-06-16T04:57:29.7704199Z             {
2026-06-16T04:57:29.7704348Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7704458Z               "line": 546
2026-06-16T04:57:29.7704562Z             }
2026-06-16T04:57:29.7704673Z           ]
2026-06-16T04:57:29.7704776Z         }
2026-06-16T04:57:29.7704877Z       }
2026-06-16T04:57:29.7704978Z     },
2026-06-16T04:57:29.7705081Z     {
2026-06-16T04:57:29.7705194Z       "id": "REQ-MESH-2",
2026-06-16T04:57:29.7707893Z       "title": "Member roster: node-level union-merge grow-set (per member: pubkey, label, machine_id, last-known address, last-seen — NOT the seed), the discovery directory the mesh dials by. Seeded IN FULL at pairing (seed-holder hands joiner the whole current roster, incl. offline members — folds in deferred pairing-time hostname capture + post-join address seeding); each node authors its own entry stamped with its lease_epoch, merged strictly-greater-wins (the node_label lease); exchanged only over seed-proof'd member connections; forgery-inert (a fake entry names a pubkey that still can't seed-proof). Removal needs a TOMBSTONE — a per-pubkey revoked marker that propagates, dominates the entry, gates admission (seed-proof ∧ ¬tombstoned), and prevents reinsert; cleared by a completed re-pair of that pubkey. Persists through silence (offline member keeps its entry).",
2026-06-16T04:57:29.7708115Z       "requiredStages": [
2026-06-16T04:57:29.7708214Z         "impl",
2026-06-16T04:57:29.7708318Z         "unit",
2026-06-16T04:57:29.7708423Z         "int"
2026-06-16T04:57:29.7708523Z       ],
2026-06-16T04:57:29.7708632Z       "stages": {
2026-06-16T04:57:29.7708737Z         "doc": {
2026-06-16T04:57:29.7708861Z           "complete": false,
2026-06-16T04:57:29.7709057Z           "evidence": []
2026-06-16T04:57:29.7709157Z         },
2026-06-16T04:57:29.7709271Z         "impl": {
2026-06-16T04:57:29.7709386Z           "complete": true,
2026-06-16T04:57:29.7709505Z           "evidence": [
2026-06-16T04:57:29.7709605Z             {
2026-06-16T04:57:29.7709759Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.7709862Z               "line": 734
2026-06-16T04:57:29.7709953Z             },
2026-06-16T04:57:29.7710054Z             {
2026-06-16T04:57:29.7710196Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7710306Z               "line": 118
2026-06-16T04:57:29.7710403Z             },
2026-06-16T04:57:29.7710506Z             {
2026-06-16T04:57:29.7710658Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7710776Z               "line": 347
2026-06-16T04:57:29.7710885Z             },
2026-06-16T04:57:29.7710980Z             {
2026-06-16T04:57:29.7711128Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7711232Z               "line": 389
2026-06-16T04:57:29.7711333Z             },
2026-06-16T04:57:29.7711438Z             {
2026-06-16T04:57:29.7711585Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7711705Z               "line": 403
2026-06-16T04:57:29.7711810Z             },
2026-06-16T04:57:29.7711909Z             {
2026-06-16T04:57:29.7712058Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7712162Z               "line": 492
2026-06-16T04:57:29.7712258Z             },
2026-06-16T04:57:29.7712363Z             {
2026-06-16T04:57:29.7712510Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7712617Z               "line": 507
2026-06-16T04:57:29.7712725Z             },
2026-06-16T04:57:29.7712825Z             {
2026-06-16T04:57:29.7712969Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7713077Z               "line": 534
2026-06-16T04:57:29.7713178Z             },
2026-06-16T04:57:29.7713279Z             {
2026-06-16T04:57:29.7713430Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7713544Z               "line": 207
2026-06-16T04:57:29.7713654Z             },
2026-06-16T04:57:29.7713759Z             {
2026-06-16T04:57:29.7720403Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7720561Z               "line": 755
2026-06-16T04:57:29.7720662Z             },
2026-06-16T04:57:29.7720761Z             {
2026-06-16T04:57:29.7720924Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7721042Z               "line": 816
2026-06-16T04:57:29.7721146Z             },
2026-06-16T04:57:29.7721397Z             {
2026-06-16T04:57:29.7721655Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7721764Z               "line": 869
2026-06-16T04:57:29.7721869Z             },
2026-06-16T04:57:29.7721970Z             {
2026-06-16T04:57:29.7722117Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7722232Z               "line": 891
2026-06-16T04:57:29.7722332Z             },
2026-06-16T04:57:29.7722426Z             {
2026-06-16T04:57:29.7722571Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7722689Z               "line": 122
2026-06-16T04:57:29.7722784Z             },
2026-06-16T04:57:29.7722886Z             {
2026-06-16T04:57:29.7723032Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7723133Z               "line": 44
2026-06-16T04:57:29.7723242Z             },
2026-06-16T04:57:29.7723347Z             {
2026-06-16T04:57:29.7723486Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7723599Z               "line": 184
2026-06-16T04:57:29.7723714Z             },
2026-06-16T04:57:29.7723816Z             {
2026-06-16T04:57:29.7723952Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7724070Z               "line": 211
2026-06-16T04:57:29.7724166Z             },
2026-06-16T04:57:29.7724267Z             {
2026-06-16T04:57:29.7724414Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7724539Z               "line": 251
2026-06-16T04:57:29.7724643Z             },
2026-06-16T04:57:29.7724743Z             {
2026-06-16T04:57:29.7724886Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7724995Z               "line": 275
2026-06-16T04:57:29.7725102Z             },
2026-06-16T04:57:29.7725206Z             {
2026-06-16T04:57:29.7725353Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7725468Z               "line": 289
2026-06-16T04:57:29.7725563Z             },
2026-06-16T04:57:29.7725668Z             {
2026-06-16T04:57:29.7725817Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7725935Z               "line": 300
2026-06-16T04:57:29.7726041Z             },
2026-06-16T04:57:29.7726150Z             {
2026-06-16T04:57:29.7726301Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7726415Z               "line": 313
2026-06-16T04:57:29.7726523Z             }
2026-06-16T04:57:29.7726628Z           ]
2026-06-16T04:57:29.7726728Z         },
2026-06-16T04:57:29.7726828Z         "int": {
2026-06-16T04:57:29.7726947Z           "complete": true,
2026-06-16T04:57:29.7727068Z           "evidence": [
2026-06-16T04:57:29.7727167Z             {
2026-06-16T04:57:29.7727334Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-16T04:57:29.7727434Z               "line": 116
2026-06-16T04:57:29.7727543Z             },
2026-06-16T04:57:29.7727645Z             {
2026-06-16T04:57:29.7727801Z               "path": "crates/spt-daemon/tests/rosterprop.rs",
2026-06-16T04:57:29.7727925Z               "line": 181
2026-06-16T04:57:29.7728016Z             }
2026-06-16T04:57:29.7728116Z           ]
2026-06-16T04:57:29.7728211Z         },
2026-06-16T04:57:29.7728322Z         "unit": {
2026-06-16T04:57:29.7728434Z           "complete": true,
2026-06-16T04:57:29.7728545Z           "evidence": [
2026-06-16T04:57:29.7728641Z             {
2026-06-16T04:57:29.7728793Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7728908Z               "line": 999
2026-06-16T04:57:29.7729083Z             },
2026-06-16T04:57:29.7729187Z             {
2026-06-16T04:57:29.7729335Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7729438Z               "line": 1016
2026-06-16T04:57:29.7729548Z             },
2026-06-16T04:57:29.7729648Z             {
2026-06-16T04:57:29.7729800Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7729911Z               "line": 1024
2026-06-16T04:57:29.7730138Z             },
2026-06-16T04:57:29.7730335Z             {
2026-06-16T04:57:29.7730482Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7730597Z               "line": 1048
2026-06-16T04:57:29.7730702Z             },
2026-06-16T04:57:29.7730801Z             {
2026-06-16T04:57:29.7730959Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.7731073Z               "line": 1499
2026-06-16T04:57:29.7731174Z             },
2026-06-16T04:57:29.7731283Z             {
2026-06-16T04:57:29.7731427Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7731537Z               "line": 347
2026-06-16T04:57:29.7731650Z             },
2026-06-16T04:57:29.7731749Z             {
2026-06-16T04:57:29.7731897Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7732009Z               "line": 370
2026-06-16T04:57:29.7732105Z             },
2026-06-16T04:57:29.7732210Z             {
2026-06-16T04:57:29.7732352Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7732468Z               "line": 407
2026-06-16T04:57:29.7732573Z             },
2026-06-16T04:57:29.7732677Z             {
2026-06-16T04:57:29.7732825Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7732925Z               "line": 431
2026-06-16T04:57:29.7733029Z             },
2026-06-16T04:57:29.7733136Z             {
2026-06-16T04:57:29.7733282Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7733383Z               "line": 483
2026-06-16T04:57:29.7733474Z             },
2026-06-16T04:57:29.7733578Z             {
2026-06-16T04:57:29.7733717Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7733821Z               "line": 499
2026-06-16T04:57:29.7733926Z             },
2026-06-16T04:57:29.7734032Z             {
2026-06-16T04:57:29.7734159Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7734274Z               "line": 514
2026-06-16T04:57:29.7734385Z             },
2026-06-16T04:57:29.7734488Z             {
2026-06-16T04:57:29.7734630Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7734731Z               "line": 531
2026-06-16T04:57:29.7734841Z             }
2026-06-16T04:57:29.7734940Z           ]
2026-06-16T04:57:29.7735046Z         }
2026-06-16T04:57:29.7735146Z       }
2026-06-16T04:57:29.7735250Z     },
2026-06-16T04:57:29.7735357Z     {
2026-06-16T04:57:29.7735456Z       "id": "REQ-MESH-3",
2026-06-16T04:57:29.7737236Z       "title": "Mesh row fan-out: registry rows stay OWN-AUTHORED; the only change is the push target widens from directly-paired peers to ALL roster members (a wider DIRECT fan-out, never a third-party relay). Every row/message still arrives from its author over a handshake → KNOWN-HAZARDS 7.5 (origin = handshake node) and 4.10 (eviction lease: any future update comes from that node itself, alive) PRESERVED VERBATIM. Closes the staggered A→B→C repro: C (roster-seeded with A at pairing) initiates to A, seed-proof admits C unpaired, A learns C, both push directly.",
2026-06-16T04:57:29.7737375Z       "requiredStages": [
2026-06-16T04:57:29.7737478Z         "impl",
2026-06-16T04:57:29.7737584Z         "unit",
2026-06-16T04:57:29.7737689Z         "int"
2026-06-16T04:57:29.7737798Z       ],
2026-06-16T04:57:29.7737909Z       "stages": {
2026-06-16T04:57:29.7738013Z         "doc": {
2026-06-16T04:57:29.7738131Z           "complete": false,
2026-06-16T04:57:29.7738238Z           "evidence": []
2026-06-16T04:57:29.7738352Z         },
2026-06-16T04:57:29.7738456Z         "impl": {
2026-06-16T04:57:29.7738576Z           "complete": true,
2026-06-16T04:57:29.7738690Z           "evidence": [
2026-06-16T04:57:29.7738795Z             {
2026-06-16T04:57:29.7739019Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7739120Z               "line": 641
2026-06-16T04:57:29.7739225Z             }
2026-06-16T04:57:29.7739328Z           ]
2026-06-16T04:57:29.7739435Z         },
2026-06-16T04:57:29.7739639Z         "int": {
2026-06-16T04:57:29.7739843Z           "complete": true,
2026-06-16T04:57:29.7739946Z           "evidence": [
2026-06-16T04:57:29.7740045Z             {
2026-06-16T04:57:29.7740190Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-16T04:57:29.7740303Z               "line": 373
2026-06-16T04:57:29.7740403Z             },
2026-06-16T04:57:29.7740509Z             {
2026-06-16T04:57:29.7740651Z               "path": "crates/spt-daemon/tests/mesh.rs",
2026-06-16T04:57:29.7740767Z               "line": 436
2026-06-16T04:57:29.7740866Z             }
2026-06-16T04:57:29.7740966Z           ]
2026-06-16T04:57:29.7741066Z         },
2026-06-16T04:57:29.7741172Z         "unit": {
2026-06-16T04:57:29.7741290Z           "complete": true,
2026-06-16T04:57:29.7741396Z           "evidence": [
2026-06-16T04:57:29.7741501Z             {
2026-06-16T04:57:29.7741648Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.7741763Z               "line": 910
2026-06-16T04:57:29.7741867Z             }
2026-06-16T04:57:29.7741972Z           ]
2026-06-16T04:57:29.7742078Z         }
2026-06-16T04:57:29.7742182Z       }
2026-06-16T04:57:29.7742290Z     },
2026-06-16T04:57:29.7742386Z     {
2026-06-16T04:57:29.7742503Z       "id": "REQ-MESH-4",
2026-06-16T04:57:29.7744729Z       "title": "Revoke + timeboxed seed rotation + re-seed grace: `spt subnet revoke <node>...` (list, elevation-gated, revoke-only) writes roster tombstones immediately, then schedules ONE seed rotation (re-mint seed, bump seed_epoch, push new seed CONFIDENTIALLY over member-auth'd TLS connections — never in roster/registry gossip — force-drop revokees) at the close of a coalescing window (default 1h); further revokes in the window join the same rotation (one epoch bump). `--force-rotate-seed` rotates immediately (compromised-node path). RE-SEED GRACE: a node proving the immediately-prior epoch (N-1) AND still on the roster gets a re-seed-only restricted connection (auto-heals a benign offliner); revoked/off-roster denied; ≥2 stale → re-pair.",
2026-06-16T04:57:29.7744863Z       "requiredStages": [
2026-06-16T04:57:29.7744965Z         "impl",
2026-06-16T04:57:29.7745063Z         "unit",
2026-06-16T04:57:29.7745171Z         "int"
2026-06-16T04:57:29.7745282Z       ],
2026-06-16T04:57:29.7745382Z       "stages": {
2026-06-16T04:57:29.7745486Z         "doc": {
2026-06-16T04:57:29.7745602Z           "complete": false,
2026-06-16T04:57:29.7745706Z           "evidence": []
2026-06-16T04:57:29.7745815Z         },
2026-06-16T04:57:29.7745917Z         "impl": {
2026-06-16T04:57:29.7746031Z           "complete": true,
2026-06-16T04:57:29.7746135Z           "evidence": [
2026-06-16T04:57:29.7746241Z             {
2026-06-16T04:57:29.7746402Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.7746522Z               "line": 33
2026-06-16T04:57:29.7746626Z             },
2026-06-16T04:57:29.7746736Z             {
2026-06-16T04:57:29.7746894Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7747003Z               "line": 68
2026-06-16T04:57:29.7747108Z             },
2026-06-16T04:57:29.7747214Z             {
2026-06-16T04:57:29.7747355Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7747464Z               "line": 111
2026-06-16T04:57:29.7747569Z             },
2026-06-16T04:57:29.7747677Z             {
2026-06-16T04:57:29.7747825Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7747940Z               "line": 462
2026-06-16T04:57:29.7748038Z             },
2026-06-16T04:57:29.7748140Z             {
2026-06-16T04:57:29.7748287Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7748391Z               "line": 711
2026-06-16T04:57:29.7748497Z             },
2026-06-16T04:57:29.7748597Z             {
2026-06-16T04:57:29.7748745Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7748845Z               "line": 725
2026-06-16T04:57:29.7749132Z             },
2026-06-16T04:57:29.7749345Z             {
2026-06-16T04:57:29.7749512Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.7749627Z               "line": 132
2026-06-16T04:57:29.7749728Z             },
2026-06-16T04:57:29.7749827Z             {
2026-06-16T04:57:29.7749970Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7750076Z               "line": 26
2026-06-16T04:57:29.7750189Z             },
2026-06-16T04:57:29.7750288Z             {
2026-06-16T04:57:29.7750436Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7750549Z               "line": 97
2026-06-16T04:57:29.7750653Z             },
2026-06-16T04:57:29.7750755Z             {
2026-06-16T04:57:29.7750896Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7751007Z               "line": 119
2026-06-16T04:57:29.7751112Z             },
2026-06-16T04:57:29.7751216Z             {
2026-06-16T04:57:29.7751355Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7751484Z               "line": 82
2026-06-16T04:57:29.7751588Z             },
2026-06-16T04:57:29.7751694Z             {
2026-06-16T04:57:29.7751836Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7751941Z               "line": 111
2026-06-16T04:57:29.7752047Z             },
2026-06-16T04:57:29.7752151Z             {
2026-06-16T04:57:29.7752295Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7752399Z               "line": 232
2026-06-16T04:57:29.7752508Z             },
2026-06-16T04:57:29.7752615Z             {
2026-06-16T04:57:29.7752756Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7752860Z               "line": 245
2026-06-16T04:57:29.7752965Z             },
2026-06-16T04:57:29.7753059Z             {
2026-06-16T04:57:29.7753187Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7753307Z               "line": 4251
2026-06-16T04:57:29.7753411Z             }
2026-06-16T04:57:29.7753520Z           ]
2026-06-16T04:57:29.7753627Z         },
2026-06-16T04:57:29.7753726Z         "int": {
2026-06-16T04:57:29.7753844Z           "complete": true,
2026-06-16T04:57:29.7753950Z           "evidence": [
2026-06-16T04:57:29.7754064Z             {
2026-06-16T04:57:29.7754208Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-16T04:57:29.7754317Z               "line": 98
2026-06-16T04:57:29.7754416Z             },
2026-06-16T04:57:29.7754518Z             {
2026-06-16T04:57:29.7754670Z               "path": "crates/spt-daemon/tests/reseed.rs",
2026-06-16T04:57:29.7754784Z               "line": 140
2026-06-16T04:57:29.7754890Z             }
2026-06-16T04:57:29.7754998Z           ]
2026-06-16T04:57:29.7755104Z         },
2026-06-16T04:57:29.7755210Z         "unit": {
2026-06-16T04:57:29.7755313Z           "complete": true,
2026-06-16T04:57:29.7755433Z           "evidence": [
2026-06-16T04:57:29.7755539Z             {
2026-06-16T04:57:29.7755699Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.7755823Z               "line": 178
2026-06-16T04:57:29.7755924Z             },
2026-06-16T04:57:29.7756037Z             {
2026-06-16T04:57:29.7756190Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.7756304Z               "line": 242
2026-06-16T04:57:29.7756409Z             },
2026-06-16T04:57:29.7756515Z             {
2026-06-16T04:57:29.7756671Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7756782Z               "line": 1079
2026-06-16T04:57:29.7756891Z             },
2026-06-16T04:57:29.7756990Z             {
2026-06-16T04:57:29.7757154Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7757272Z               "line": 1109
2026-06-16T04:57:29.7757373Z             },
2026-06-16T04:57:29.7757478Z             {
2026-06-16T04:57:29.7757625Z               "path": "crates/spt-daemon/src/seedproofx.rs",
2026-06-16T04:57:29.7757844Z               "line": 1129
2026-06-16T04:57:29.7758015Z             },
2026-06-16T04:57:29.7758129Z             {
2026-06-16T04:57:29.7758289Z               "path": "crates/spt-net/src/net/mesh/seedproof.rs",
2026-06-16T04:57:29.7758409Z               "line": 602
2026-06-16T04:57:29.7766783Z             },
2026-06-16T04:57:29.7766921Z             {
2026-06-16T04:57:29.7767098Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7767212Z               "line": 148
2026-06-16T04:57:29.7767313Z             },
2026-06-16T04:57:29.7767418Z             {
2026-06-16T04:57:29.7767580Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7767686Z               "line": 169
2026-06-16T04:57:29.7767784Z             },
2026-06-16T04:57:29.7767885Z             {
2026-06-16T04:57:29.7768038Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7768152Z               "line": 181
2026-06-16T04:57:29.7768252Z             },
2026-06-16T04:57:29.7768372Z             {
2026-06-16T04:57:29.7768518Z               "path": "crates/spt-store/src/rotation.rs",
2026-06-16T04:57:29.7768647Z               "line": 202
2026-06-16T04:57:29.7768749Z             },
2026-06-16T04:57:29.7768849Z             {
2026-06-16T04:57:29.7769097Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7769197Z               "line": 375
2026-06-16T04:57:29.7769298Z             },
2026-06-16T04:57:29.7769398Z             {
2026-06-16T04:57:29.7769551Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.7769660Z               "line": 407
2026-06-16T04:57:29.7769764Z             },
2026-06-16T04:57:29.7769870Z             {
2026-06-16T04:57:29.7769989Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7770103Z               "line": 8656
2026-06-16T04:57:29.7770204Z             }
2026-06-16T04:57:29.7770308Z           ]
2026-06-16T04:57:29.7770413Z         }
2026-06-16T04:57:29.7770519Z       }
2026-06-16T04:57:29.7770623Z     },
2026-06-16T04:57:29.7770733Z     {
2026-06-16T04:57:29.7770853Z       "id": "REQ-MESH-5",
2026-06-16T04:57:29.7772331Z       "title": "Hard cutover from pairwise trust: delete peers.json + the is_trusted authorization path (no migration — expendable test fleet, re-pairs fresh under the new model, user decision 2026-06-08). Warn-on-change DEMOTED from a gate to an awareness notice anchored on machine_id (not label): 'machine M, last seen as K1, now presents K2' — fires the same event as the REQ-SUBNET-7 re-pair overwrite. The TrustStore/peers.json code and its call sites are removed, not left dead.",
2026-06-16T04:57:29.7772452Z       "requiredStages": [
2026-06-16T04:57:29.7772561Z         "impl",
2026-06-16T04:57:29.7772665Z         "unit"
2026-06-16T04:57:29.7772766Z       ],
2026-06-16T04:57:29.7772870Z       "stages": {
2026-06-16T04:57:29.7772975Z         "doc": {
2026-06-16T04:57:29.7773096Z           "complete": false,
2026-06-16T04:57:29.7773204Z           "evidence": []
2026-06-16T04:57:29.7773314Z         },
2026-06-16T04:57:29.7773415Z         "impl": {
2026-06-16T04:57:29.7773538Z           "complete": true,
2026-06-16T04:57:29.7773657Z           "evidence": [
2026-06-16T04:57:29.7773759Z             {
2026-06-16T04:57:29.7773923Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7774028Z               "line": 61
2026-06-16T04:57:29.7774132Z             },
2026-06-16T04:57:29.7774236Z             {
2026-06-16T04:57:29.7774398Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7774503Z               "line": 109
2026-06-16T04:57:29.7774602Z             },
2026-06-16T04:57:29.7774713Z             {
2026-06-16T04:57:29.7774860Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.7774975Z               "line": 104
2026-06-16T04:57:29.7775080Z             },
2026-06-16T04:57:29.7775185Z             {
2026-06-16T04:57:29.7775338Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.7775437Z               "line": 105
2026-06-16T04:57:29.7775843Z             },
2026-06-16T04:57:29.7775943Z             {
2026-06-16T04:57:29.7776109Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7776219Z               "line": 85
2026-06-16T04:57:29.7776325Z             },
2026-06-16T04:57:29.7776434Z             {
2026-06-16T04:57:29.7776592Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7776706Z               "line": 250
2026-06-16T04:57:29.7776809Z             },
2026-06-16T04:57:29.7776914Z             {
2026-06-16T04:57:29.7777058Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7777171Z               "line": 314
2026-06-16T04:57:29.7777277Z             },
2026-06-16T04:57:29.7777378Z             {
2026-06-16T04:57:29.7777520Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7777631Z               "line": 715
2026-06-16T04:57:29.7777735Z             },
2026-06-16T04:57:29.7777839Z             {
2026-06-16T04:57:29.7777983Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7778087Z               "line": 101
2026-06-16T04:57:29.7778178Z             },
2026-06-16T04:57:29.7778289Z             {
2026-06-16T04:57:29.7778425Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7778532Z               "line": 193
2026-06-16T04:57:29.7778636Z             }
2026-06-16T04:57:29.7778740Z           ]
2026-06-16T04:57:29.7778842Z         },
2026-06-16T04:57:29.7779030Z         "int": {
2026-06-16T04:57:29.7779150Z           "complete": false,
2026-06-16T04:57:29.7779254Z           "evidence": []
2026-06-16T04:57:29.7779357Z         },
2026-06-16T04:57:29.7779462Z         "unit": {
2026-06-16T04:57:29.7779582Z           "complete": true,
2026-06-16T04:57:29.7779690Z           "evidence": [
2026-06-16T04:57:29.7779791Z             {
2026-06-16T04:57:29.7779935Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7780053Z               "line": 957
2026-06-16T04:57:29.7780174Z             },
2026-06-16T04:57:29.7780278Z             {
2026-06-16T04:57:29.7780421Z               "path": "crates/spt-store/src/roster.rs",
2026-06-16T04:57:29.7780540Z               "line": 462
2026-06-16T04:57:29.7780639Z             }
2026-06-16T04:57:29.7780740Z           ]
2026-06-16T04:57:29.7780841Z         }
2026-06-16T04:57:29.7780940Z       }
2026-06-16T04:57:29.7781035Z     },
2026-06-16T04:57:29.7781132Z     {
2026-06-16T04:57:29.7781250Z       "id": "REQ-MESH-6",
2026-06-16T04:57:29.7782524Z       "title": "Concurrent liveness probes: `spt subnet status --nodes` fans out its offline/serve-probes (REQ-SUBNET-5) CONCURRENTLY — total wall-time bounded by the single-probe ceiling (~3s), never k×ceiling. The mesh makes a node see ALL members (many possibly offline), so a serial probe loop would be offline_count×3s. (Planning verifies the current REQ-SUBNET-5 probe loop's behavior and fixes it if serial.)",
2026-06-16T04:57:29.7782648Z       "requiredStages": [
2026-06-16T04:57:29.7782764Z         "impl",
2026-06-16T04:57:29.7782867Z         "unit"
2026-06-16T04:57:29.7782973Z       ],
2026-06-16T04:57:29.7783078Z       "stages": {
2026-06-16T04:57:29.7783182Z         "doc": {
2026-06-16T04:57:29.7783297Z           "complete": false,
2026-06-16T04:57:29.7783416Z           "evidence": []
2026-06-16T04:57:29.7783521Z         },
2026-06-16T04:57:29.7783617Z         "impl": {
2026-06-16T04:57:29.7783731Z           "complete": true,
2026-06-16T04:57:29.7783826Z           "evidence": [
2026-06-16T04:57:29.7783927Z             {
2026-06-16T04:57:29.7784056Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7784170Z               "line": 3774
2026-06-16T04:57:29.7784280Z             }
2026-06-16T04:57:29.7784380Z           ]
2026-06-16T04:57:29.7784488Z         },
2026-06-16T04:57:29.7784588Z         "int": {
2026-06-16T04:57:29.7784711Z           "complete": false,
2026-06-16T04:57:29.7784824Z           "evidence": []
2026-06-16T04:57:29.7785030Z         },
2026-06-16T04:57:29.7785215Z         "unit": {
2026-06-16T04:57:29.7785331Z           "complete": true,
2026-06-16T04:57:29.7785434Z           "evidence": [
2026-06-16T04:57:29.7785535Z             {
2026-06-16T04:57:29.7785664Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7785768Z               "line": 9189
2026-06-16T04:57:29.7785869Z             },
2026-06-16T04:57:29.7785969Z             {
2026-06-16T04:57:29.7786092Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7786198Z               "line": 9216
2026-06-16T04:57:29.7786303Z             },
2026-06-16T04:57:29.7786407Z             {
2026-06-16T04:57:29.7786533Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7786651Z               "line": 9240
2026-06-16T04:57:29.7786755Z             }
2026-06-16T04:57:29.7786857Z           ]
2026-06-16T04:57:29.7786960Z         }
2026-06-16T04:57:29.7787056Z       }
2026-06-16T04:57:29.7787162Z     },
2026-06-16T04:57:29.7787261Z     {
2026-06-16T04:57:29.7787388Z       "id": "REQ-MIGRATE-1",
2026-06-16T04:57:29.7787590Z       "title": "Auto-detect and migrate a legacy claude_skill_owl install",
2026-06-16T04:57:29.7787712Z       "requiredStages": [],
2026-06-16T04:57:29.7787814Z       "stages": {
2026-06-16T04:57:29.7787913Z         "doc": {
2026-06-16T04:57:29.7788032Z           "complete": false,
2026-06-16T04:57:29.7788129Z           "evidence": []
2026-06-16T04:57:29.7788228Z         },
2026-06-16T04:57:29.7788328Z         "impl": {
2026-06-16T04:57:29.7788438Z           "complete": false,
2026-06-16T04:57:29.7788553Z           "evidence": []
2026-06-16T04:57:29.7788657Z         },
2026-06-16T04:57:29.7788758Z         "int": {
2026-06-16T04:57:29.7788863Z           "complete": false,
2026-06-16T04:57:29.7789048Z           "evidence": []
2026-06-16T04:57:29.7789144Z         },
2026-06-16T04:57:29.7789247Z         "unit": {
2026-06-16T04:57:29.7789354Z           "complete": false,
2026-06-16T04:57:29.7789455Z           "evidence": []
2026-06-16T04:57:29.7789567Z         }
2026-06-16T04:57:29.7789662Z       }
2026-06-16T04:57:29.7789762Z     },
2026-06-16T04:57:29.7789861Z     {
2026-06-16T04:57:29.7789984Z       "id": "REQ-MSG-1",
2026-06-16T04:57:29.7790452Z       "title": "Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)",
2026-06-16T04:57:29.7790560Z       "requiredStages": [
2026-06-16T04:57:29.7790666Z         "impl",
2026-06-16T04:57:29.7790767Z         "unit",
2026-06-16T04:57:29.7790866Z         "int"
2026-06-16T04:57:29.7790976Z       ],
2026-06-16T04:57:29.7791077Z       "stages": {
2026-06-16T04:57:29.7791181Z         "doc": {
2026-06-16T04:57:29.7791290Z           "complete": false,
2026-06-16T04:57:29.7791410Z           "evidence": []
2026-06-16T04:57:29.7791515Z         },
2026-06-16T04:57:29.7791615Z         "impl": {
2026-06-16T04:57:29.7791739Z           "complete": true,
2026-06-16T04:57:29.7791843Z           "evidence": [
2026-06-16T04:57:29.7791945Z             {
2026-06-16T04:57:29.7792096Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7792201Z               "line": 28
2026-06-16T04:57:29.7792293Z             },
2026-06-16T04:57:29.7792392Z             {
2026-06-16T04:57:29.7792538Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7792639Z               "line": 94
2026-06-16T04:57:29.7792742Z             },
2026-06-16T04:57:29.7792846Z             {
2026-06-16T04:57:29.7792990Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7793099Z               "line": 127
2026-06-16T04:57:29.7793199Z             },
2026-06-16T04:57:29.7793305Z             {
2026-06-16T04:57:29.7793437Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7793557Z               "line": 149
2026-06-16T04:57:29.7793652Z             },
2026-06-16T04:57:29.7793756Z             {
2026-06-16T04:57:29.7793891Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7794187Z               "line": 174
2026-06-16T04:57:29.7794291Z             },
2026-06-16T04:57:29.7794396Z             {
2026-06-16T04:57:29.7794540Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7794644Z               "line": 18
2026-06-16T04:57:29.7794749Z             },
2026-06-16T04:57:29.7794850Z             {
2026-06-16T04:57:29.7794991Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7795100Z               "line": 13
2026-06-16T04:57:29.7795201Z             },
2026-06-16T04:57:29.7795304Z             {
2026-06-16T04:57:29.7795427Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7795533Z               "line": 62
2026-06-16T04:57:29.7795633Z             },
2026-06-16T04:57:29.7795746Z             {
2026-06-16T04:57:29.7795881Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7795980Z               "line": 13
2026-06-16T04:57:29.7796085Z             }
2026-06-16T04:57:29.7796190Z           ]
2026-06-16T04:57:29.7796295Z         },
2026-06-16T04:57:29.7796390Z         "int": {
2026-06-16T04:57:29.7796519Z           "complete": true,
2026-06-16T04:57:29.7796634Z           "evidence": [
2026-06-16T04:57:29.7796734Z             {
2026-06-16T04:57:29.7796901Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T04:57:29.7797010Z               "line": 9
2026-06-16T04:57:29.7797121Z             },
2026-06-16T04:57:29.7797220Z             {
2026-06-16T04:57:29.7797383Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T04:57:29.7797497Z               "line": 56
2026-06-16T04:57:29.7797597Z             },
2026-06-16T04:57:29.7797703Z             {
2026-06-16T04:57:29.7797859Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T04:57:29.7797962Z               "line": 113
2026-06-16T04:57:29.7798064Z             }
2026-06-16T04:57:29.7798169Z           ]
2026-06-16T04:57:29.7798272Z         },
2026-06-16T04:57:29.7798374Z         "unit": {
2026-06-16T04:57:29.7798498Z           "complete": true,
2026-06-16T04:57:29.7798601Z           "evidence": [
2026-06-16T04:57:29.7798703Z             {
2026-06-16T04:57:29.7798832Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7799018Z               "line": 203
2026-06-16T04:57:29.7799118Z             },
2026-06-16T04:57:29.7799222Z             {
2026-06-16T04:57:29.7799361Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7799465Z               "line": 232
2026-06-16T04:57:29.7799565Z             },
2026-06-16T04:57:29.7799667Z             {
2026-06-16T04:57:29.7799808Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7799923Z               "line": 277
2026-06-16T04:57:29.7800024Z             },
2026-06-16T04:57:29.7800127Z             {
2026-06-16T04:57:29.7800250Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7800370Z               "line": 300
2026-06-16T04:57:29.7800477Z             },
2026-06-16T04:57:29.7800582Z             {
2026-06-16T04:57:29.7800722Z               "path": "crates/spt-msg/src/deliver.rs",
2026-06-16T04:57:29.7800830Z               "line": 325
2026-06-16T04:57:29.7800931Z             },
2026-06-16T04:57:29.7801031Z             {
2026-06-16T04:57:29.7801178Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7801294Z               "line": 204
2026-06-16T04:57:29.7801398Z             },
2026-06-16T04:57:29.7801502Z             {
2026-06-16T04:57:29.7801641Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7801755Z               "line": 237
2026-06-16T04:57:29.7801860Z             },
2026-06-16T04:57:29.7801961Z             {
2026-06-16T04:57:29.7802103Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7802209Z               "line": 251
2026-06-16T04:57:29.7802304Z             },
2026-06-16T04:57:29.7802404Z             {
2026-06-16T04:57:29.7802543Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7802872Z               "line": 263
2026-06-16T04:57:29.7802971Z             },
2026-06-16T04:57:29.7803075Z             {
2026-06-16T04:57:29.7803199Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7803307Z               "line": 162
2026-06-16T04:57:29.7803411Z             },
2026-06-16T04:57:29.7803507Z             {
2026-06-16T04:57:29.7803641Z               "path": "crates/spt-msg/src/ring.rs",
2026-06-16T04:57:29.7803749Z               "line": 242
2026-06-16T04:57:29.7803856Z             },
2026-06-16T04:57:29.7803965Z             {
2026-06-16T04:57:29.7804098Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7804208Z               "line": 134
2026-06-16T04:57:29.7804312Z             },
2026-06-16T04:57:29.7804413Z             {
2026-06-16T04:57:29.7804551Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7804651Z               "line": 153
2026-06-16T04:57:29.7804752Z             }
2026-06-16T04:57:29.7804866Z           ]
2026-06-16T04:57:29.7804975Z         }
2026-06-16T04:57:29.7805076Z       }
2026-06-16T04:57:29.7805176Z     },
2026-06-16T04:57:29.7805276Z     {
2026-06-16T04:57:29.7805382Z       "id": "REQ-MSG-2",
2026-06-16T04:57:29.7805679Z       "title": "spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes",
2026-06-16T04:57:29.7805799Z       "requiredStages": [
2026-06-16T04:57:29.7805897Z         "impl",
2026-06-16T04:57:29.7806001Z         "unit"
2026-06-16T04:57:29.7806102Z       ],
2026-06-16T04:57:29.7806207Z       "stages": {
2026-06-16T04:57:29.7806302Z         "doc": {
2026-06-16T04:57:29.7806422Z           "complete": false,
2026-06-16T04:57:29.7806540Z           "evidence": []
2026-06-16T04:57:29.7806640Z         },
2026-06-16T04:57:29.7806746Z         "impl": {
2026-06-16T04:57:29.7806855Z           "complete": true,
2026-06-16T04:57:29.7806965Z           "evidence": [
2026-06-16T04:57:29.7807084Z             {
2026-06-16T04:57:29.7807217Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7807338Z               "line": 11
2026-06-16T04:57:29.7807442Z             },
2026-06-16T04:57:29.7807547Z             {
2026-06-16T04:57:29.7807672Z               "path": "crates/spt/src/main.rs",
2026-06-16T04:57:29.7807775Z               "line": 8
2026-06-16T04:57:29.7807876Z             }
2026-06-16T04:57:29.7807977Z           ]
2026-06-16T04:57:29.7808080Z         },
2026-06-16T04:57:29.7808186Z         "int": {
2026-06-16T04:57:29.7808302Z           "complete": false,
2026-06-16T04:57:29.7808409Z           "evidence": []
2026-06-16T04:57:29.7808509Z         },
2026-06-16T04:57:29.7808614Z         "unit": {
2026-06-16T04:57:29.7808729Z           "complete": true,
2026-06-16T04:57:29.7808837Z           "evidence": [
2026-06-16T04:57:29.7808938Z             {
2026-06-16T04:57:29.7809143Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7809254Z               "line": 6485
2026-06-16T04:57:29.7809358Z             },
2026-06-16T04:57:29.7809462Z             {
2026-06-16T04:57:29.7809588Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7809696Z               "line": 6527
2026-06-16T04:57:29.7809796Z             },
2026-06-16T04:57:29.7809898Z             {
2026-06-16T04:57:29.7810021Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7810134Z               "line": 6576
2026-06-16T04:57:29.7810232Z             },
2026-06-16T04:57:29.7810335Z             {
2026-06-16T04:57:29.7810459Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7810560Z               "line": 6599
2026-06-16T04:57:29.7810664Z             },
2026-06-16T04:57:29.7810768Z             {
2026-06-16T04:57:29.7810892Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7811000Z               "line": 8411
2026-06-16T04:57:29.7811094Z             },
2026-06-16T04:57:29.7811200Z             {
2026-06-16T04:57:29.7811314Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7818484Z               "line": 8420
2026-06-16T04:57:29.7818770Z             },
2026-06-16T04:57:29.7818866Z             {
2026-06-16T04:57:29.7819102Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7819222Z               "line": 8434
2026-06-16T04:57:29.7819326Z             }
2026-06-16T04:57:29.7819426Z           ]
2026-06-16T04:57:29.7819532Z         }
2026-06-16T04:57:29.7819632Z       }
2026-06-16T04:57:29.7819736Z     },
2026-06-16T04:57:29.7819838Z     {
2026-06-16T04:57:29.7819952Z       "id": "REQ-MSG-3",
2026-06-16T04:57:29.7820366Z       "title": "Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown",
2026-06-16T04:57:29.7820491Z       "requiredStages": [
2026-06-16T04:57:29.7820590Z         "impl",
2026-06-16T04:57:29.7820690Z         "unit",
2026-06-16T04:57:29.7820792Z         "int"
2026-06-16T04:57:29.7820900Z       ],
2026-06-16T04:57:29.7821010Z       "stages": {
2026-06-16T04:57:29.7821121Z         "doc": {
2026-06-16T04:57:29.7821243Z           "complete": false,
2026-06-16T04:57:29.7821342Z           "evidence": []
2026-06-16T04:57:29.7821443Z         },
2026-06-16T04:57:29.7821546Z         "impl": {
2026-06-16T04:57:29.7821664Z           "complete": true,
2026-06-16T04:57:29.7821779Z           "evidence": [
2026-06-16T04:57:29.7821874Z             {
2026-06-16T04:57:29.7822031Z               "path": "crates/spt-msg/src/listener.rs",
2026-06-16T04:57:29.7822133Z               "line": 19
2026-06-16T04:57:29.7822236Z             },
2026-06-16T04:57:29.7822341Z             {
2026-06-16T04:57:29.7822490Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7822594Z               "line": 21
2026-06-16T04:57:29.7822691Z             },
2026-06-16T04:57:29.7822795Z             {
2026-06-16T04:57:29.7822923Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7823025Z               "line": 48
2026-06-16T04:57:29.7823119Z             },
2026-06-16T04:57:29.7823233Z             {
2026-06-16T04:57:29.7823377Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7823481Z               "line": 151
2026-06-16T04:57:29.7823581Z             }
2026-06-16T04:57:29.7823687Z           ]
2026-06-16T04:57:29.7823796Z         },
2026-06-16T04:57:29.7823901Z         "int": {
2026-06-16T04:57:29.7824016Z           "complete": true,
2026-06-16T04:57:29.7824115Z           "evidence": [
2026-06-16T04:57:29.7824209Z             {
2026-06-16T04:57:29.7824371Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T04:57:29.7824474Z               "line": 10
2026-06-16T04:57:29.7824579Z             },
2026-06-16T04:57:29.7824680Z             {
2026-06-16T04:57:29.7824846Z               "path": "crates/spt-msg/tests/killer_quickstart.rs",
2026-06-16T04:57:29.7824957Z               "line": 56
2026-06-16T04:57:29.7825057Z             }
2026-06-16T04:57:29.7825155Z           ]
2026-06-16T04:57:29.7825252Z         },
2026-06-16T04:57:29.7825357Z         "unit": {
2026-06-16T04:57:29.7825470Z           "complete": true,
2026-06-16T04:57:29.7825577Z           "evidence": [
2026-06-16T04:57:29.7825681Z             {
2026-06-16T04:57:29.7825814Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7825930Z               "line": 205
2026-06-16T04:57:29.7826033Z             },
2026-06-16T04:57:29.7826143Z             {
2026-06-16T04:57:29.7826278Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7826376Z               "line": 224
2026-06-16T04:57:29.7826478Z             },
2026-06-16T04:57:29.7826578Z             {
2026-06-16T04:57:29.7826714Z               "path": "crates/spt-msg/src/ready.rs",
2026-06-16T04:57:29.7826824Z               "line": 247
2026-06-16T04:57:29.7826933Z             }
2026-06-16T04:57:29.7827031Z           ]
2026-06-16T04:57:29.7827136Z         }
2026-06-16T04:57:29.7827242Z       }
2026-06-16T04:57:29.7827341Z     },
2026-06-16T04:57:29.7827446Z     {
2026-06-16T04:57:29.7827552Z       "id": "REQ-MSG-4",
2026-06-16T04:57:29.7828629Z       "title": "Listener stream stdout emits EVENT envelope lines (sister-format, ADR-0001): parse the __REPLY_TO__ frame, pass pre-formed typed envelopes through verbatim (no double-wrap), compose <EVENT type=\"msg\" from=…> otherwise, chunk oversized lines into EVENT-PART",
2026-06-16T04:57:29.7828763Z       "requiredStages": [
2026-06-16T04:57:29.7828863Z         "impl",
2026-06-16T04:57:29.7829049Z         "unit",
2026-06-16T04:57:29.7829150Z         "int"
2026-06-16T04:57:29.7829248Z       ],
2026-06-16T04:57:29.7829349Z       "stages": {
2026-06-16T04:57:29.7829450Z         "doc": {
2026-06-16T04:57:29.7829572Z           "complete": false,
2026-06-16T04:57:29.7829676Z           "evidence": []
2026-06-16T04:57:29.7829782Z         },
2026-06-16T04:57:29.7829887Z         "impl": {
2026-06-16T04:57:29.7830005Z           "complete": true,
2026-06-16T04:57:29.7830111Z           "evidence": [
2026-06-16T04:57:29.7830215Z             {
2026-06-16T04:57:29.7830369Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7830488Z               "line": 19
2026-06-16T04:57:29.7830587Z             },
2026-06-16T04:57:29.7830693Z             {
2026-06-16T04:57:29.7830826Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7830931Z               "line": 46
2026-06-16T04:57:29.7831032Z             },
2026-06-16T04:57:29.7831141Z             {
2026-06-16T04:57:29.7831284Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7831399Z               "line": 407
2026-06-16T04:57:29.7831498Z             },
2026-06-16T04:57:29.7831603Z             {
2026-06-16T04:57:29.7831728Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7831850Z               "line": 2745
2026-06-16T04:57:29.7831959Z             }
2026-06-16T04:57:29.7832064Z           ]
2026-06-16T04:57:29.7832158Z         },
2026-06-16T04:57:29.7832263Z         "int": {
2026-06-16T04:57:29.7832383Z           "complete": true,
2026-06-16T04:57:29.7832491Z           "evidence": [
2026-06-16T04:57:29.7832606Z             {
2026-06-16T04:57:29.7832754Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T04:57:29.7832858Z               "line": 98
2026-06-16T04:57:29.7832964Z             },
2026-06-16T04:57:29.7833064Z             {
2026-06-16T04:57:29.7833212Z               "path": "crates/spt/tests/quickstart_e2e.rs",
2026-06-16T04:57:29.7833317Z               "line": 128
2026-06-16T04:57:29.7833421Z             }
2026-06-16T04:57:29.7833526Z           ]
2026-06-16T04:57:29.7833632Z         },
2026-06-16T04:57:29.7833779Z         "unit": {
2026-06-16T04:57:29.7833895Z           "complete": true,
2026-06-16T04:57:29.7834013Z           "evidence": [
2026-06-16T04:57:29.7834113Z             {
2026-06-16T04:57:29.7834243Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7834351Z               "line": 68
2026-06-16T04:57:29.7834456Z             },
2026-06-16T04:57:29.7834562Z             {
2026-06-16T04:57:29.7834694Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7834817Z               "line": 79
2026-06-16T04:57:29.7834917Z             },
2026-06-16T04:57:29.7835020Z             {
2026-06-16T04:57:29.7835149Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7835255Z               "line": 90
2026-06-16T04:57:29.7835363Z             },
2026-06-16T04:57:29.7835468Z             {
2026-06-16T04:57:29.7835607Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7835711Z               "line": 151
2026-06-16T04:57:29.7835813Z             }
2026-06-16T04:57:29.7835917Z           ]
2026-06-16T04:57:29.7836017Z         }
2026-06-16T04:57:29.7836127Z       }
2026-06-16T04:57:29.7836227Z     },
2026-06-16T04:57:29.7836336Z     {
2026-06-16T04:57:29.7836447Z       "id": "REQ-MSG-5",
2026-06-16T04:57:29.7837218Z       "title": "user-msg envelope kind + daemon identity gate: a Gateway endpoint / the local user's CLI author user-msg (the user's authority); agent-family senders re-stamped to plain msg; identity-gated never payload-trusted (KH 7.3/7.5); wire-additive (N-1 receivers tolerate the new type)",
2026-06-16T04:57:29.7837507Z       "requiredStages": [
2026-06-16T04:57:29.7837601Z         "doc",
2026-06-16T04:57:29.7837711Z         "impl",
2026-06-16T04:57:29.7837816Z         "unit"
2026-06-16T04:57:29.7837920Z       ],
2026-06-16T04:57:29.7838030Z       "stages": {
2026-06-16T04:57:29.7838131Z         "doc": {
2026-06-16T04:57:29.7838249Z           "complete": true,
2026-06-16T04:57:29.7838355Z           "evidence": [
2026-06-16T04:57:29.7838460Z             {
2026-06-16T04:57:29.7838583Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7838694Z               "line": 212
2026-06-16T04:57:29.7838798Z             }
2026-06-16T04:57:29.7838893Z           ]
2026-06-16T04:57:29.7839080Z         },
2026-06-16T04:57:29.7839185Z         "impl": {
2026-06-16T04:57:29.7839304Z           "complete": true,
2026-06-16T04:57:29.7839404Z           "evidence": [
2026-06-16T04:57:29.7839514Z             {
2026-06-16T04:57:29.7839657Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7839766Z               "line": 60
2026-06-16T04:57:29.7839866Z             },
2026-06-16T04:57:29.7839963Z             {
2026-06-16T04:57:29.7840114Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7840218Z               "line": 126
2026-06-16T04:57:29.7840313Z             },
2026-06-16T04:57:29.7840419Z             {
2026-06-16T04:57:29.7840556Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7840662Z               "line": 135
2026-06-16T04:57:29.7840762Z             },
2026-06-16T04:57:29.7840866Z             {
2026-06-16T04:57:29.7840996Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7841109Z               "line": 149
2026-06-16T04:57:29.7841219Z             },
2026-06-16T04:57:29.7841325Z             {
2026-06-16T04:57:29.7841467Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7841573Z               "line": 178
2026-06-16T04:57:29.7841686Z             },
2026-06-16T04:57:29.7841791Z             {
2026-06-16T04:57:29.7841926Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7842039Z               "line": 2491
2026-06-16T04:57:29.7842135Z             }
2026-06-16T04:57:29.7842246Z           ]
2026-06-16T04:57:29.7842349Z         },
2026-06-16T04:57:29.7842453Z         "int": {
2026-06-16T04:57:29.7842563Z           "complete": true,
2026-06-16T04:57:29.7842670Z           "evidence": [
2026-06-16T04:57:29.7842779Z             {
2026-06-16T04:57:29.7842909Z               "path": "crates/spt/tests/gateway_e2e.rs",
2026-06-16T04:57:29.7843023Z               "line": 19
2026-06-16T04:57:29.7843128Z             }
2026-06-16T04:57:29.7843229Z           ]
2026-06-16T04:57:29.7843333Z         },
2026-06-16T04:57:29.7843437Z         "unit": {
2026-06-16T04:57:29.7843543Z           "complete": true,
2026-06-16T04:57:29.7843652Z           "evidence": [
2026-06-16T04:57:29.7843762Z             {
2026-06-16T04:57:29.7843910Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7844014Z               "line": 192
2026-06-16T04:57:29.7844111Z             },
2026-06-16T04:57:29.7844210Z             {
2026-06-16T04:57:29.7844358Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T04:57:29.7844469Z               "line": 154
2026-06-16T04:57:29.7844568Z             },
2026-06-16T04:57:29.7844673Z             {
2026-06-16T04:57:29.7844803Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7844906Z               "line": 122
2026-06-16T04:57:29.7845007Z             },
2026-06-16T04:57:29.7845108Z             {
2026-06-16T04:57:29.7845245Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7845358Z               "line": 452
2026-06-16T04:57:29.7845449Z             },
2026-06-16T04:57:29.7845556Z             {
2026-06-16T04:57:29.7845695Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7845895Z               "line": 501
2026-06-16T04:57:29.7846105Z             },
2026-06-16T04:57:29.7846210Z             {
2026-06-16T04:57:29.7846353Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7846458Z               "line": 517
2026-06-16T04:57:29.7846572Z             },
2026-06-16T04:57:29.7846672Z             {
2026-06-16T04:57:29.7846815Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.7846934Z               "line": 536
2026-06-16T04:57:29.7847036Z             },
2026-06-16T04:57:29.7847140Z             {
2026-06-16T04:57:29.7847263Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7847379Z               "line": 6428
2026-06-16T04:57:29.7847473Z             }
2026-06-16T04:57:29.7847578Z           ]
2026-06-16T04:57:29.7847684Z         }
2026-06-16T04:57:29.7847783Z       }
2026-06-16T04:57:29.7847887Z     },
2026-06-16T04:57:29.7847988Z     {
2026-06-16T04:57:29.7848105Z       "id": "REQ-MSG-6",
2026-06-16T04:57:29.7849811Z       "title": "cross-node Gateway user-msg honored via advertised endpoint_type: a user-msg from a Gateway-typed origin survives the receive_wan funnel as user-msg (vs the fail-closed re-stamp), keyed on the QUIC-handshake-proven origin node (never wire `from`). Trust boundary = subnet membership (operator-ratified 2026-06-13); no defense against an in-subnet member forging the type. Instance.endpoint_type is an additive serde-default field extending REQ-INST-7's data model. Absent/unknown type → re-stamp (N-1 rollout grace)",
2026-06-16T04:57:29.7849941Z       "requiredStages": [
2026-06-16T04:57:29.7850044Z         "doc",
2026-06-16T04:57:29.7850145Z         "impl",
2026-06-16T04:57:29.7850246Z         "unit"
2026-06-16T04:57:29.7850350Z       ],
2026-06-16T04:57:29.7850455Z       "stages": {
2026-06-16T04:57:29.7850556Z         "doc": {
2026-06-16T04:57:29.7850660Z           "complete": true,
2026-06-16T04:57:29.7850763Z           "evidence": [
2026-06-16T04:57:29.7850864Z             {
2026-06-16T04:57:29.7850989Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7851107Z               "line": 215
2026-06-16T04:57:29.7851208Z             }
2026-06-16T04:57:29.7851313Z           ]
2026-06-16T04:57:29.7851417Z         },
2026-06-16T04:57:29.7851523Z         "impl": {
2026-06-16T04:57:29.7851623Z           "complete": true,
2026-06-16T04:57:29.7851726Z           "evidence": [
2026-06-16T04:57:29.7851828Z             {
2026-06-16T04:57:29.7851985Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7852089Z               "line": 177
2026-06-16T04:57:29.7852195Z             },
2026-06-16T04:57:29.7852300Z             {
2026-06-16T04:57:29.7852448Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7852557Z               "line": 422
2026-06-16T04:57:29.7852661Z             },
2026-06-16T04:57:29.7852753Z             {
2026-06-16T04:57:29.7852904Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7853008Z               "line": 445
2026-06-16T04:57:29.7853128Z             },
2026-06-16T04:57:29.7853231Z             {
2026-06-16T04:57:29.7853373Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7853484Z               "line": 89
2026-06-16T04:57:29.7853583Z             },
2026-06-16T04:57:29.7853688Z             {
2026-06-16T04:57:29.7853836Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.7853950Z               "line": 155
2026-06-16T04:57:29.7854051Z             }
2026-06-16T04:57:29.7854141Z           ]
2026-06-16T04:57:29.7854245Z         },
2026-06-16T04:57:29.7854347Z         "int": {
2026-06-16T04:57:29.7854470Z           "complete": false,
2026-06-16T04:57:29.7854574Z           "evidence": []
2026-06-16T04:57:29.7854685Z         },
2026-06-16T04:57:29.7854789Z         "unit": {
2026-06-16T04:57:29.7854899Z           "complete": true,
2026-06-16T04:57:29.7855005Z           "evidence": [
2026-06-16T04:57:29.7855109Z             {
2026-06-16T04:57:29.7855363Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.7855557Z               "line": 1639
2026-06-16T04:57:29.7855668Z             },
2026-06-16T04:57:29.7855762Z             {
2026-06-16T04:57:29.7855904Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7856019Z               "line": 219
2026-06-16T04:57:29.7856126Z             }
2026-06-16T04:57:29.7856225Z           ]
2026-06-16T04:57:29.7856332Z         }
2026-06-16T04:57:29.7856441Z       }
2026-06-16T04:57:29.7856540Z     },
2026-06-16T04:57:29.7856647Z     {
2026-06-16T04:57:29.7856760Z       "id": "REQ-MSG-ENVELOPE",
2026-06-16T04:57:29.7860524Z       "title": "The <EVENT type=\"msg\" from=…>body</EVENT> envelope (spt-proto::event, the ADR-0001 grammar) is the SOLE canonical arriving-message format at EVERY harness arriving-message surface on an AGENT perch — api listen AND api poll/worker-poll, byte-identical (reverses REQ-MSG-4's 'hook drains keep the raw frame by contract'). SCOPE CARVE-OUT: the shell-command relay (api poll <shell-id> --link, cmd_poll_shell) is a distinct internal transport carrying RAW MAC'd stamped frames the shell child consumes verbatim — NOT an arriving-message surface, deliberately EXEMPT from <EVENT> composition (notify_shell_e2e guards this boundary). __REPLY_TO__ — mis-elevated during the clean-room port to a fake ADR-0001 'stable wire format' (spt-msg/wire.rs, lib.rs) — is REMOVED entirely (spool format_row, the spt-msg TCP frame, emit parse_frame); (from, body) carried structurally, <EVENT> composed once at the delivery boundary. No legacy sister-interop (spt-core never required it). Reply-correlation rebinds onto the structural from / <EVENT from=…> attribute (ADR-0009 access-gate + ADR-0012 Psyche/spt-live reply-target). Self-delimiting by construction → finding F-002 (non-self-delimiting multi-message poll) dissolves. ADR-0020.",
2026-06-16T04:57:29.7860686Z       "requiredStages": [
2026-06-16T04:57:29.7860787Z         "doc",
2026-06-16T04:57:29.7860891Z         "impl",
2026-06-16T04:57:29.7861010Z         "unit",
2026-06-16T04:57:29.7872189Z         "int"
2026-06-16T04:57:29.7872314Z       ],
2026-06-16T04:57:29.7872433Z       "stages": {
2026-06-16T04:57:29.7872537Z         "doc": {
2026-06-16T04:57:29.7872667Z           "complete": true,
2026-06-16T04:57:29.7872771Z           "evidence": [
2026-06-16T04:57:29.7872876Z             {
2026-06-16T04:57:29.7873152Z               "path": "docs/adr/0020-event-envelope-sole-arriving-format-reply-to-removed.md",
2026-06-16T04:57:29.7873263Z               "line": 47
2026-06-16T04:57:29.7873372Z             }
2026-06-16T04:57:29.7873472Z           ]
2026-06-16T04:57:29.7873583Z         },
2026-06-16T04:57:29.7873691Z         "impl": {
2026-06-16T04:57:29.7873805Z           "complete": true,
2026-06-16T04:57:29.7873916Z           "evidence": [
2026-06-16T04:57:29.7874020Z             {
2026-06-16T04:57:29.7874166Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7874267Z               "line": 20
2026-06-16T04:57:29.7874389Z             },
2026-06-16T04:57:29.7874493Z             {
2026-06-16T04:57:29.7874638Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7874751Z               "line": 33
2026-06-16T04:57:29.7874856Z             },
2026-06-16T04:57:29.7874956Z             {
2026-06-16T04:57:29.7875084Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7875205Z               "line": 47
2026-06-16T04:57:29.7875310Z             },
2026-06-16T04:57:29.7875413Z             {
2026-06-16T04:57:29.7875553Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7875662Z               "line": 58
2026-06-16T04:57:29.7875762Z             },
2026-06-16T04:57:29.7875863Z             {
2026-06-16T04:57:29.7875996Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7876111Z               "line": 14
2026-06-16T04:57:29.7876216Z             },
2026-06-16T04:57:29.7876325Z             {
2026-06-16T04:57:29.7876454Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7876817Z               "line": 27
2026-06-16T04:57:29.7876915Z             },
2026-06-16T04:57:29.7877020Z             {
2026-06-16T04:57:29.7877158Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7877260Z               "line": 40
2026-06-16T04:57:29.7877360Z             },
2026-06-16T04:57:29.7877462Z             {
2026-06-16T04:57:29.7877608Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7877709Z               "line": 92
2026-06-16T04:57:29.7877814Z             },
2026-06-16T04:57:29.7877923Z             {
2026-06-16T04:57:29.7878063Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.7878177Z               "line": 143
2026-06-16T04:57:29.7878281Z             },
2026-06-16T04:57:29.7878382Z             {
2026-06-16T04:57:29.7878525Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.7878638Z               "line": 216
2026-06-16T04:57:29.7878749Z             },
2026-06-16T04:57:29.7878858Z             {
2026-06-16T04:57:29.7879134Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.7879244Z               "line": 408
2026-06-16T04:57:29.7879351Z             },
2026-06-16T04:57:29.7879444Z             {
2026-06-16T04:57:29.7879600Z               "path": "crates/spt/src/api/worker.rs",
2026-06-16T04:57:29.7879715Z               "line": 78
2026-06-16T04:57:29.7879808Z             },
2026-06-16T04:57:29.7879917Z             {
2026-06-16T04:57:29.7880043Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7880166Z               "line": 2746
2026-06-16T04:57:29.7880271Z             }
2026-06-16T04:57:29.7880376Z           ]
2026-06-16T04:57:29.7880475Z         },
2026-06-16T04:57:29.7880571Z         "int": {
2026-06-16T04:57:29.7880681Z           "complete": true,
2026-06-16T04:57:29.7880790Z           "evidence": [
2026-06-16T04:57:29.7880891Z             {
2026-06-16T04:57:29.7881048Z               "path": "crates/spt/tests/poll_envelope_e2e.rs",
2026-06-16T04:57:29.7881167Z               "line": 15
2026-06-16T04:57:29.7881283Z             }
2026-06-16T04:57:29.7881377Z           ]
2026-06-16T04:57:29.7881482Z         },
2026-06-16T04:57:29.7881583Z         "unit": {
2026-06-16T04:57:29.7881706Z           "complete": true,
2026-06-16T04:57:29.7881811Z           "evidence": [
2026-06-16T04:57:29.7881913Z             {
2026-06-16T04:57:29.7882049Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7882155Z               "line": 102
2026-06-16T04:57:29.7882260Z             },
2026-06-16T04:57:29.7882363Z             {
2026-06-16T04:57:29.7882506Z               "path": "crates/spt-msg/src/emit.rs",
2026-06-16T04:57:29.7882617Z               "line": 137
2026-06-16T04:57:29.7882725Z             },
2026-06-16T04:57:29.7882830Z             {
2026-06-16T04:57:29.7882964Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7883064Z               "line": 98
2026-06-16T04:57:29.7883170Z             },
2026-06-16T04:57:29.7883284Z             {
2026-06-16T04:57:29.7883407Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7883518Z               "line": 106
2026-06-16T04:57:29.7883627Z             },
2026-06-16T04:57:29.7883722Z             {
2026-06-16T04:57:29.7883861Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7883970Z               "line": 113
2026-06-16T04:57:29.7884075Z             },
2026-06-16T04:57:29.7884176Z             {
2026-06-16T04:57:29.7884308Z               "path": "crates/spt-msg/src/wire.rs",
2026-06-16T04:57:29.7884423Z               "line": 122
2026-06-16T04:57:29.7884519Z             }
2026-06-16T04:57:29.7884627Z           ]
2026-06-16T04:57:29.7884727Z         }
2026-06-16T04:57:29.7884837Z       }
2026-06-16T04:57:29.7884940Z     },
2026-06-16T04:57:29.7885044Z     {
2026-06-16T04:57:29.7885169Z       "id": "REQ-NET-1",
2026-06-16T04:57:29.7885378Z       "title": "WAN messaging first-class, behind default-on net feature flag",
2026-06-16T04:57:29.7885602Z       "requiredStages": [
2026-06-16T04:57:29.7885794Z         "impl",
2026-06-16T04:57:29.7885902Z         "unit",
2026-06-16T04:57:29.7886007Z         "int"
2026-06-16T04:57:29.7886122Z       ],
2026-06-16T04:57:29.7886237Z       "stages": {
2026-06-16T04:57:29.7886341Z         "doc": {
2026-06-16T04:57:29.7886456Z           "complete": false,
2026-06-16T04:57:29.7886570Z           "evidence": []
2026-06-16T04:57:29.7886676Z         },
2026-06-16T04:57:29.7886780Z         "impl": {
2026-06-16T04:57:29.7886890Z           "complete": true,
2026-06-16T04:57:29.7887010Z           "evidence": [
2026-06-16T04:57:29.7887109Z             {
2026-06-16T04:57:29.7887267Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7887377Z               "line": 54
2026-06-16T04:57:29.7887485Z             },
2026-06-16T04:57:29.7887589Z             {
2026-06-16T04:57:29.7887741Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7887849Z               "line": 594
2026-06-16T04:57:29.7887959Z             },
2026-06-16T04:57:29.7888069Z             {
2026-06-16T04:57:29.7888202Z               "path": "crates/spt-daemon/src/wan.rs",
2026-06-16T04:57:29.7888318Z               "line": 130
2026-06-16T04:57:29.7888418Z             },
2026-06-16T04:57:29.7888521Z             {
2026-06-16T04:57:29.7888680Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7888793Z               "line": 97
2026-06-16T04:57:29.7888903Z             },
2026-06-16T04:57:29.7889085Z             {
2026-06-16T04:57:29.7889228Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7889338Z               "line": 159
2026-06-16T04:57:29.7889433Z             },
2026-06-16T04:57:29.7889528Z             {
2026-06-16T04:57:29.7889671Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7889780Z               "line": 175
2026-06-16T04:57:29.7889882Z             },
2026-06-16T04:57:29.7889982Z             {
2026-06-16T04:57:29.7890137Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7890252Z               "line": 190
2026-06-16T04:57:29.7890350Z             },
2026-06-16T04:57:29.7890449Z             {
2026-06-16T04:57:29.7890593Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7890693Z               "line": 271
2026-06-16T04:57:29.7890797Z             },
2026-06-16T04:57:29.7890903Z             {
2026-06-16T04:57:29.7891045Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7891151Z               "line": 306
2026-06-16T04:57:29.7891255Z             },
2026-06-16T04:57:29.7891360Z             {
2026-06-16T04:57:29.7891499Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7891603Z               "line": 312
2026-06-16T04:57:29.7891708Z             },
2026-06-16T04:57:29.7891814Z             {
2026-06-16T04:57:29.7891957Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7892070Z               "line": 318
2026-06-16T04:57:29.7892172Z             },
2026-06-16T04:57:29.7892270Z             {
2026-06-16T04:57:29.7892410Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7892524Z               "line": 334
2026-06-16T04:57:29.7892624Z             },
2026-06-16T04:57:29.7892730Z             {
2026-06-16T04:57:29.7892872Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7892990Z               "line": 354
2026-06-16T04:57:29.7893090Z             },
2026-06-16T04:57:29.7893196Z             {
2026-06-16T04:57:29.7893342Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7893453Z               "line": 35
2026-06-16T04:57:29.7893558Z             },
2026-06-16T04:57:29.7893657Z             {
2026-06-16T04:57:29.7893806Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7893915Z               "line": 85
2026-06-16T04:57:29.7894011Z             },
2026-06-16T04:57:29.7894211Z             {
2026-06-16T04:57:29.7894349Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7894540Z               "line": 138
2026-06-16T04:57:29.7894640Z             },
2026-06-16T04:57:29.7894745Z             {
2026-06-16T04:57:29.7894878Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7894989Z               "line": 2588
2026-06-16T04:57:29.7895088Z             },
2026-06-16T04:57:29.7895192Z             {
2026-06-16T04:57:29.7895330Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7895434Z               "line": 17
2026-06-16T04:57:29.7895537Z             }
2026-06-16T04:57:29.7895647Z           ]
2026-06-16T04:57:29.7895748Z         },
2026-06-16T04:57:29.7895857Z         "int": {
2026-06-16T04:57:29.7895962Z           "complete": true,
2026-06-16T04:57:29.7896077Z           "evidence": [
2026-06-16T04:57:29.7896177Z             {
2026-06-16T04:57:29.7896335Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.7896453Z               "line": 341
2026-06-16T04:57:29.7896543Z             },
2026-06-16T04:57:29.7896649Z             {
2026-06-16T04:57:29.7896792Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7896897Z               "line": 607
2026-06-16T04:57:29.7896993Z             },
2026-06-16T04:57:29.7897097Z             {
2026-06-16T04:57:29.7897241Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7897345Z               "line": 880
2026-06-16T04:57:29.7897445Z             }
2026-06-16T04:57:29.7897551Z           ]
2026-06-16T04:57:29.7897651Z         },
2026-06-16T04:57:29.7897755Z         "unit": {
2026-06-16T04:57:29.7897870Z           "complete": true,
2026-06-16T04:57:29.7897980Z           "evidence": [
2026-06-16T04:57:29.7898083Z             {
2026-06-16T04:57:29.7898226Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7898329Z               "line": 651
2026-06-16T04:57:29.7898433Z             },
2026-06-16T04:57:29.7898534Z             {
2026-06-16T04:57:29.7898686Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7898800Z               "line": 686
2026-06-16T04:57:29.7898897Z             },
2026-06-16T04:57:29.7899081Z             {
2026-06-16T04:57:29.7899226Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.7899335Z               "line": 936
2026-06-16T04:57:29.7899435Z             },
2026-06-16T04:57:29.7899540Z             {
2026-06-16T04:57:29.7899683Z               "path": "crates/spt-daemon/tests/wanmsg.rs",
2026-06-16T04:57:29.7899788Z               "line": 201
2026-06-16T04:57:29.7899884Z             },
2026-06-16T04:57:29.7899978Z             {
2026-06-16T04:57:29.7900127Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7900232Z               "line": 442
2026-06-16T04:57:29.7900331Z             },
2026-06-16T04:57:29.7900438Z             {
2026-06-16T04:57:29.7900570Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7900688Z               "line": 456
2026-06-16T04:57:29.7900792Z             },
2026-06-16T04:57:29.7900901Z             {
2026-06-16T04:57:29.7901038Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7901149Z               "line": 475
2026-06-16T04:57:29.7901253Z             },
2026-06-16T04:57:29.7901357Z             {
2026-06-16T04:57:29.7901501Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7901605Z               "line": 120
2026-06-16T04:57:29.7901711Z             },
2026-06-16T04:57:29.7901806Z             {
2026-06-16T04:57:29.7901948Z               "path": "crates/spt-net/src/net/wanmsg.rs",
2026-06-16T04:57:29.7902050Z               "line": 163
2026-06-16T04:57:29.7902149Z             },
2026-06-16T04:57:29.7902253Z             {
2026-06-16T04:57:29.7902389Z               "path": "crates/spt-store/src/spool.rs",
2026-06-16T04:57:29.7902497Z               "line": 530
2026-06-16T04:57:29.7902602Z             },
2026-06-16T04:57:29.7902816Z             {
2026-06-16T04:57:29.7903052Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7903159Z               "line": 616
2026-06-16T04:57:29.7903265Z             },
2026-06-16T04:57:29.7903357Z             {
2026-06-16T04:57:29.7903483Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.7903602Z               "line": 1006
2026-06-16T04:57:29.7903694Z             }
2026-06-16T04:57:29.7903784Z           ]
2026-06-16T04:57:29.7903884Z         }
2026-06-16T04:57:29.7903994Z       }
2026-06-16T04:57:29.7904095Z     },
2026-06-16T04:57:29.7904194Z     {
2026-06-16T04:57:29.7904300Z       "id": "REQ-NET-2",
2026-06-16T04:57:29.7904508Z       "title": "n0 relay default + self-host knob + plain-language disclosure",
2026-06-16T04:57:29.7904629Z       "requiredStages": [
2026-06-16T04:57:29.7904733Z         "impl"
2026-06-16T04:57:29.7904837Z       ],
2026-06-16T04:57:29.7904943Z       "stages": {
2026-06-16T04:57:29.7905042Z         "doc": {
2026-06-16T04:57:29.7905171Z           "complete": false,
2026-06-16T04:57:29.7905287Z           "evidence": []
2026-06-16T04:57:29.7905385Z         },
2026-06-16T04:57:29.7905486Z         "impl": {
2026-06-16T04:57:29.7905602Z           "complete": true,
2026-06-16T04:57:29.7905710Z           "evidence": [
2026-06-16T04:57:29.7905833Z             {
2026-06-16T04:57:29.7905975Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.7906079Z               "line": 57
2026-06-16T04:57:29.7906193Z             },
2026-06-16T04:57:29.7906289Z             {
2026-06-16T04:57:29.7906445Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7906551Z               "line": 71
2026-06-16T04:57:29.7906661Z             },
2026-06-16T04:57:29.7906765Z             {
2026-06-16T04:57:29.7906895Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7906999Z               "line": 81
2026-06-16T04:57:29.7907098Z             },
2026-06-16T04:57:29.7907205Z             {
2026-06-16T04:57:29.7907352Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7907462Z               "line": 159
2026-06-16T04:57:29.7907567Z             },
2026-06-16T04:57:29.7907671Z             {
2026-06-16T04:57:29.7907816Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7907919Z               "line": 175
2026-06-16T04:57:29.7908024Z             },
2026-06-16T04:57:29.7908126Z             {
2026-06-16T04:57:29.7908272Z               "path": "crates/spt-net/src/net/endpoint.rs",
2026-06-16T04:57:29.7908377Z               "line": 190
2026-06-16T04:57:29.7908474Z             }
2026-06-16T04:57:29.7908582Z           ]
2026-06-16T04:57:29.7908681Z         },
2026-06-16T04:57:29.7908786Z         "int": {
2026-06-16T04:57:29.7908899Z           "complete": false,
2026-06-16T04:57:29.7909104Z           "evidence": []
2026-06-16T04:57:29.7909209Z         },
2026-06-16T04:57:29.7909317Z         "unit": {
2026-06-16T04:57:29.7909442Z           "complete": true,
2026-06-16T04:57:29.7909552Z           "evidence": [
2026-06-16T04:57:29.7909660Z             {
2026-06-16T04:57:29.7909800Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.7909909Z               "line": 402
2026-06-16T04:57:29.7910009Z             }
2026-06-16T04:57:29.7910115Z           ]
2026-06-16T04:57:29.7910219Z         }
2026-06-16T04:57:29.7910319Z       }
2026-06-16T04:57:29.7910415Z     },
2026-06-16T04:57:29.7910514Z     {
2026-06-16T04:57:29.7910624Z       "id": "REQ-NET-3",
2026-06-16T04:57:29.7920889Z       "title": "Cross-node Psyche sync over P2P replaces gh-repo-sync",
2026-06-16T04:57:29.7921046Z       "requiredStages": [
2026-06-16T04:57:29.7921151Z         "impl",
2026-06-16T04:57:29.7921248Z         "unit"
2026-06-16T04:57:29.7921347Z       ],
2026-06-16T04:57:29.7921452Z       "stages": {
2026-06-16T04:57:29.7921543Z         "doc": {
2026-06-16T04:57:29.7921662Z           "complete": false,
2026-06-16T04:57:29.7921770Z           "evidence": []
2026-06-16T04:57:29.7922101Z         },
2026-06-16T04:57:29.7922202Z         "impl": {
2026-06-16T04:57:29.7922312Z           "complete": true,
2026-06-16T04:57:29.7922416Z           "evidence": [
2026-06-16T04:57:29.7922511Z             {
2026-06-16T04:57:29.7922660Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7922768Z               "line": 39
2026-06-16T04:57:29.7922870Z             },
2026-06-16T04:57:29.7922969Z             {
2026-06-16T04:57:29.7923112Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7923218Z               "line": 182
2026-06-16T04:57:29.7923307Z             },
2026-06-16T04:57:29.7923407Z             {
2026-06-16T04:57:29.7923547Z               "path": "crates/spt-daemon/src/sync.rs",
2026-06-16T04:57:29.7923651Z               "line": 333
2026-06-16T04:57:29.7923751Z             },
2026-06-16T04:57:29.7923852Z             {
2026-06-16T04:57:29.7924000Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T04:57:29.7924110Z               "line": 36
2026-06-16T04:57:29.7924214Z             },
2026-06-16T04:57:29.7924309Z             {
2026-06-16T04:57:29.7924467Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7924576Z               "line": 158
2026-06-16T04:57:29.7924661Z             },
2026-06-16T04:57:29.7924751Z             {
2026-06-16T04:57:29.7924900Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7925004Z               "line": 212
2026-06-16T04:57:29.7925104Z             },
2026-06-16T04:57:29.7925205Z             {
2026-06-16T04:57:29.7925352Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7925453Z               "line": 233
2026-06-16T04:57:29.7925563Z             },
2026-06-16T04:57:29.7925662Z             {
2026-06-16T04:57:29.7925811Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7925915Z               "line": 291
2026-06-16T04:57:29.7926010Z             },
2026-06-16T04:57:29.7926121Z             {
2026-06-16T04:57:29.7926267Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7926383Z               "line": 310
2026-06-16T04:57:29.7926482Z             },
2026-06-16T04:57:29.7926587Z             {
2026-06-16T04:57:29.7926732Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7926844Z               "line": 348
2026-06-16T04:57:29.7926943Z             },
2026-06-16T04:57:29.7927049Z             {
2026-06-16T04:57:29.7927194Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7927299Z               "line": 393
2026-06-16T04:57:29.7927400Z             },
2026-06-16T04:57:29.7927509Z             {
2026-06-16T04:57:29.7927652Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.7927757Z               "line": 406
2026-06-16T04:57:29.7927852Z             },
2026-06-16T04:57:29.7927957Z             {
2026-06-16T04:57:29.7928106Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7928219Z               "line": 29
2026-06-16T04:57:29.7928325Z             },
2026-06-16T04:57:29.7928425Z             {
2026-06-16T04:57:29.7928577Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7928682Z               "line": 72
2026-06-16T04:57:29.7928787Z             },
2026-06-16T04:57:29.7928887Z             {
2026-06-16T04:57:29.7929121Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7929241Z               "line": 123
2026-06-16T04:57:29.7929340Z             }
2026-06-16T04:57:29.7929440Z           ]
2026-06-16T04:57:29.7929546Z         },
2026-06-16T04:57:29.7929646Z         "int": {
2026-06-16T04:57:29.7929759Z           "complete": false,
2026-06-16T04:57:29.7929868Z           "evidence": []
2026-06-16T04:57:29.7929968Z         },
2026-06-16T04:57:29.7930071Z         "unit": {
2026-06-16T04:57:29.7930185Z           "complete": true,
2026-06-16T04:57:29.7930296Z           "evidence": [
2026-06-16T04:57:29.7930500Z             {
2026-06-16T04:57:29.7930729Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.7930849Z               "line": 223
2026-06-16T04:57:29.7930944Z             },
2026-06-16T04:57:29.7931048Z             {
2026-06-16T04:57:29.7931197Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.7931306Z               "line": 351
2026-06-16T04:57:29.7931406Z             },
2026-06-16T04:57:29.7931498Z             {
2026-06-16T04:57:29.7931639Z               "path": "crates/spt-daemon/tests/sync.rs",
2026-06-16T04:57:29.7931739Z               "line": 504
2026-06-16T04:57:29.7931841Z             },
2026-06-16T04:57:29.7931940Z             {
2026-06-16T04:57:29.7932079Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T04:57:29.7932189Z               "line": 93
2026-06-16T04:57:29.7932288Z             },
2026-06-16T04:57:29.7932396Z             {
2026-06-16T04:57:29.7932544Z               "path": "crates/spt-net/src/net/sync.rs",
2026-06-16T04:57:29.7932661Z               "line": 142
2026-06-16T04:57:29.7932771Z             },
2026-06-16T04:57:29.7932877Z             {
2026-06-16T04:57:29.7933023Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7933125Z               "line": 315
2026-06-16T04:57:29.7933225Z             },
2026-06-16T04:57:29.7933333Z             {
2026-06-16T04:57:29.7933472Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7933577Z               "line": 355
2026-06-16T04:57:29.7933677Z             },
2026-06-16T04:57:29.7933783Z             {
2026-06-16T04:57:29.7933925Z               "path": "crates/spt-store/src/syncmerge.rs",
2026-06-16T04:57:29.7934040Z               "line": 494
2026-06-16T04:57:29.7934135Z             }
2026-06-16T04:57:29.7934240Z           ]
2026-06-16T04:57:29.7934345Z         }
2026-06-16T04:57:29.7934450Z       }
2026-06-16T04:57:29.7934550Z     },
2026-06-16T04:57:29.7934650Z     {
2026-06-16T04:57:29.7934779Z       "id": "REQ-NODE-IDENTITY",
2026-06-16T04:57:29.7935089Z       "title": "Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex",
2026-06-16T04:57:29.7935192Z       "requiredStages": [
2026-06-16T04:57:29.7935297Z         "impl",
2026-06-16T04:57:29.7935394Z         "unit"
2026-06-16T04:57:29.7935503Z       ],
2026-06-16T04:57:29.7935607Z       "stages": {
2026-06-16T04:57:29.7935718Z         "doc": {
2026-06-16T04:57:29.7935831Z           "complete": false,
2026-06-16T04:57:29.7935941Z           "evidence": []
2026-06-16T04:57:29.7936051Z         },
2026-06-16T04:57:29.7936156Z         "impl": {
2026-06-16T04:57:29.7936275Z           "complete": true,
2026-06-16T04:57:29.7936380Z           "evidence": [
2026-06-16T04:57:29.7936489Z             {
2026-06-16T04:57:29.7936638Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7936742Z               "line": 60
2026-06-16T04:57:29.7936856Z             },
2026-06-16T04:57:29.7936958Z             {
2026-06-16T04:57:29.7937115Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7937234Z               "line": 68
2026-06-16T04:57:29.7937334Z             },
2026-06-16T04:57:29.7937437Z             {
2026-06-16T04:57:29.7937580Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7937684Z               "line": 86
2026-06-16T04:57:29.7937788Z             },
2026-06-16T04:57:29.7937888Z             {
2026-06-16T04:57:29.7938031Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7938136Z               "line": 120
2026-06-16T04:57:29.7938241Z             },
2026-06-16T04:57:29.7938342Z             {
2026-06-16T04:57:29.7938488Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7938590Z               "line": 127
2026-06-16T04:57:29.7938689Z             },
2026-06-16T04:57:29.7938798Z             {
2026-06-16T04:57:29.7938928Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7939157Z               "line": 143
2026-06-16T04:57:29.7939437Z             },
2026-06-16T04:57:29.7939539Z             {
2026-06-16T04:57:29.7939681Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T04:57:29.7939801Z               "line": 16
2026-06-16T04:57:29.7939901Z             }
2026-06-16T04:57:29.7939995Z           ]
2026-06-16T04:57:29.7940097Z         },
2026-06-16T04:57:29.7940192Z         "int": {
2026-06-16T04:57:29.7940309Z           "complete": false,
2026-06-16T04:57:29.7940409Z           "evidence": []
2026-06-16T04:57:29.7940514Z         },
2026-06-16T04:57:29.7940621Z         "unit": {
2026-06-16T04:57:29.7940736Z           "complete": true,
2026-06-16T04:57:29.7940841Z           "evidence": [
2026-06-16T04:57:29.7940941Z             {
2026-06-16T04:57:29.7941079Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7941189Z               "line": 199
2026-06-16T04:57:29.7941289Z             },
2026-06-16T04:57:29.7941385Z             {
2026-06-16T04:57:29.7941528Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7941646Z               "line": 218
2026-06-16T04:57:29.7941748Z             },
2026-06-16T04:57:29.7941856Z             {
2026-06-16T04:57:29.7941994Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7942101Z               "line": 234
2026-06-16T04:57:29.7942214Z             },
2026-06-16T04:57:29.7942309Z             {
2026-06-16T04:57:29.7942453Z               "path": "crates/spt-proto/src/identity.rs",
2026-06-16T04:57:29.7942552Z               "line": 256
2026-06-16T04:57:29.7942659Z             },
2026-06-16T04:57:29.7942758Z             {
2026-06-16T04:57:29.7942904Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T04:57:29.7943004Z               "line": 124
2026-06-16T04:57:29.7943104Z             },
2026-06-16T04:57:29.7943208Z             {
2026-06-16T04:57:29.7943346Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T04:57:29.7943456Z               "line": 140
2026-06-16T04:57:29.7943564Z             },
2026-06-16T04:57:29.7943675Z             {
2026-06-16T04:57:29.7943813Z               "path": "crates/spt-store/src/nodeid.rs",
2026-06-16T04:57:29.7943917Z               "line": 155
2026-06-16T04:57:29.7944023Z             }
2026-06-16T04:57:29.7944123Z           ]
2026-06-16T04:57:29.7944227Z         }
2026-06-16T04:57:29.7944329Z       }
2026-06-16T04:57:29.7944428Z     },
2026-06-16T04:57:29.7944537Z     {
2026-06-16T04:57:29.7944648Z       "id": "REQ-NOTIF-1",
2026-06-16T04:57:29.7945033Z       "title": "Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts",
2026-06-16T04:57:29.7945138Z       "requiredStages": [
2026-06-16T04:57:29.7945245Z         "impl",
2026-06-16T04:57:29.7945353Z         "unit",
2026-06-16T04:57:29.7945449Z         "int"
2026-06-16T04:57:29.7945550Z       ],
2026-06-16T04:57:29.7945659Z       "stages": {
2026-06-16T04:57:29.7945762Z         "doc": {
2026-06-16T04:57:29.7945876Z           "complete": false,
2026-06-16T04:57:29.7945997Z           "evidence": []
2026-06-16T04:57:29.7946100Z         },
2026-06-16T04:57:29.7946211Z         "impl": {
2026-06-16T04:57:29.7946325Z           "complete": true,
2026-06-16T04:57:29.7946443Z           "evidence": [
2026-06-16T04:57:29.7946554Z             {
2026-06-16T04:57:29.7946706Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.7946811Z               "line": 514
2026-06-16T04:57:29.7946921Z             },
2026-06-16T04:57:29.7947021Z             {
2026-06-16T04:57:29.7947165Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7947265Z               "line": 30
2026-06-16T04:57:29.7947369Z             },
2026-06-16T04:57:29.7947470Z             {
2026-06-16T04:57:29.7947617Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7947721Z               "line": 69
2026-06-16T04:57:29.7947828Z             },
2026-06-16T04:57:29.7947927Z             {
2026-06-16T04:57:29.7948140Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7948333Z               "line": 93
2026-06-16T04:57:29.7948439Z             },
2026-06-16T04:57:29.7948549Z             {
2026-06-16T04:57:29.7948686Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7948787Z               "line": 107
2026-06-16T04:57:29.7948897Z             },
2026-06-16T04:57:29.7949073Z             {
2026-06-16T04:57:29.7949221Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7949320Z               "line": 142
2026-06-16T04:57:29.7949426Z             },
2026-06-16T04:57:29.7949521Z             {
2026-06-16T04:57:29.7949649Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7949755Z               "line": 187
2026-06-16T04:57:29.7949854Z             },
2026-06-16T04:57:29.7949959Z             {
2026-06-16T04:57:29.7950089Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7950202Z               "line": 258
2026-06-16T04:57:29.7950313Z             },
2026-06-16T04:57:29.7950418Z             {
2026-06-16T04:57:29.7950551Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7950652Z               "line": 372
2026-06-16T04:57:29.7950757Z             },
2026-06-16T04:57:29.7950855Z             {
2026-06-16T04:57:29.7950989Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7951093Z               "line": 479
2026-06-16T04:57:29.7951191Z             },
2026-06-16T04:57:29.7951291Z             {
2026-06-16T04:57:29.7951440Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7951544Z               "line": 24
2026-06-16T04:57:29.7951644Z             },
2026-06-16T04:57:29.7951749Z             {
2026-06-16T04:57:29.7951892Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7951998Z               "line": 34
2026-06-16T04:57:29.7952108Z             },
2026-06-16T04:57:29.7952206Z             {
2026-06-16T04:57:29.7952341Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7952450Z               "line": 60
2026-06-16T04:57:29.7952555Z             },
2026-06-16T04:57:29.7952661Z             {
2026-06-16T04:57:29.7952798Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7952904Z               "line": 82
2026-06-16T04:57:29.7953008Z             },
2026-06-16T04:57:29.7953113Z             {
2026-06-16T04:57:29.7953257Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7953365Z               "line": 94
2026-06-16T04:57:29.7953469Z             },
2026-06-16T04:57:29.7953569Z             {
2026-06-16T04:57:29.7953715Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7953819Z               "line": 96
2026-06-16T04:57:29.7953920Z             },
2026-06-16T04:57:29.7954025Z             {
2026-06-16T04:57:29.7954182Z               "path": "crates/spt-daemon/src/pump/notif.rs",
2026-06-16T04:57:29.7954288Z               "line": 44
2026-06-16T04:57:29.7954396Z             },
2026-06-16T04:57:29.7954502Z             {
2026-06-16T04:57:29.7954631Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7954735Z               "line": 20
2026-06-16T04:57:29.7954841Z             },
2026-06-16T04:57:29.7954936Z             {
2026-06-16T04:57:29.7955083Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7955195Z               "line": 30
2026-06-16T04:57:29.7955298Z             },
2026-06-16T04:57:29.7955398Z             {
2026-06-16T04:57:29.7955537Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7955641Z               "line": 50
2026-06-16T04:57:29.7955741Z             },
2026-06-16T04:57:29.7955848Z             {
2026-06-16T04:57:29.7955994Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7956105Z               "line": 28
2026-06-16T04:57:29.7956205Z             },
2026-06-16T04:57:29.7956313Z             {
2026-06-16T04:57:29.7956557Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7956756Z               "line": 126
2026-06-16T04:57:29.7956862Z             },
2026-06-16T04:57:29.7956961Z             {
2026-06-16T04:57:29.7957110Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7957214Z               "line": 161
2026-06-16T04:57:29.7957323Z             },
2026-06-16T04:57:29.7957425Z             {
2026-06-16T04:57:29.7957548Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7957657Z               "line": 202
2026-06-16T04:57:29.7957749Z             },
2026-06-16T04:57:29.7957858Z             {
2026-06-16T04:57:29.7957981Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7958097Z               "line": 213
2026-06-16T04:57:29.7958196Z             },
2026-06-16T04:57:29.7958296Z             {
2026-06-16T04:57:29.7958435Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7958543Z               "line": 238
2026-06-16T04:57:29.7958672Z             },
2026-06-16T04:57:29.7958767Z             {
2026-06-16T04:57:29.7958908Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7959099Z               "line": 261
2026-06-16T04:57:29.7959199Z             },
2026-06-16T04:57:29.7959308Z             {
2026-06-16T04:57:29.7959476Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7959589Z               "line": 82
2026-06-16T04:57:29.7959681Z             }
2026-06-16T04:57:29.7959781Z           ]
2026-06-16T04:57:29.7959880Z         },
2026-06-16T04:57:29.7959986Z         "int": {
2026-06-16T04:57:29.7960110Z           "complete": true,
2026-06-16T04:57:29.7960214Z           "evidence": [
2026-06-16T04:57:29.7960320Z             {
2026-06-16T04:57:29.7960467Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.7960568Z               "line": 285
2026-06-16T04:57:29.7960669Z             },
2026-06-16T04:57:29.7960767Z             {
2026-06-16T04:57:29.7960922Z               "path": "crates/spt-daemon/tests/pump.rs",
2026-06-16T04:57:29.7961026Z               "line": 102
2026-06-16T04:57:29.7961130Z             },
2026-06-16T04:57:29.7961241Z             {
2026-06-16T04:57:29.7961373Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7961477Z               "line": 616
2026-06-16T04:57:29.7961573Z             },
2026-06-16T04:57:29.7961672Z             {
2026-06-16T04:57:29.7961813Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7961918Z               "line": 1009
2026-06-16T04:57:29.7962024Z             }
2026-06-16T04:57:29.7962113Z           ]
2026-06-16T04:57:29.7962219Z         },
2026-06-16T04:57:29.7962319Z         "unit": {
2026-06-16T04:57:29.7962423Z           "complete": true,
2026-06-16T04:57:29.7962520Z           "evidence": [
2026-06-16T04:57:29.7962624Z             {
2026-06-16T04:57:29.7962752Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7962858Z               "line": 572
2026-06-16T04:57:29.7962967Z             },
2026-06-16T04:57:29.7963067Z             {
2026-06-16T04:57:29.7963212Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7963315Z               "line": 636
2026-06-16T04:57:29.7963420Z             },
2026-06-16T04:57:29.7963526Z             {
2026-06-16T04:57:29.7963648Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7963754Z               "line": 740
2026-06-16T04:57:29.7963856Z             },
2026-06-16T04:57:29.7963958Z             {
2026-06-16T04:57:29.7964091Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7964201Z               "line": 772
2026-06-16T04:57:29.7964299Z             },
2026-06-16T04:57:29.7964398Z             {
2026-06-16T04:57:29.7964538Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7964651Z               "line": 840
2026-06-16T04:57:29.7964752Z             },
2026-06-16T04:57:29.7964952Z             {
2026-06-16T04:57:29.7965091Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7965290Z               "line": 898
2026-06-16T04:57:29.7965392Z             },
2026-06-16T04:57:29.7965501Z             {
2026-06-16T04:57:29.7965624Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7965735Z               "line": 1173
2026-06-16T04:57:29.7965830Z             },
2026-06-16T04:57:29.7965934Z             {
2026-06-16T04:57:29.7966088Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7966191Z               "line": 157
2026-06-16T04:57:29.7966302Z             },
2026-06-16T04:57:29.7966403Z             {
2026-06-16T04:57:29.7966554Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7966665Z               "line": 250
2026-06-16T04:57:29.7966769Z             },
2026-06-16T04:57:29.7966873Z             {
2026-06-16T04:57:29.7967011Z               "path": "crates/spt-daemon/src/notifsync.rs",
2026-06-16T04:57:29.7967126Z               "line": 273
2026-06-16T04:57:29.7967230Z             },
2026-06-16T04:57:29.7967331Z             {
2026-06-16T04:57:29.7967469Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7967568Z               "line": 355
2026-06-16T04:57:29.7967680Z             },
2026-06-16T04:57:29.7967779Z             {
2026-06-16T04:57:29.7967927Z               "path": "crates/spt-daemon/src/psyrelay.rs",
2026-06-16T04:57:29.7968032Z               "line": 392
2026-06-16T04:57:29.7968137Z             },
2026-06-16T04:57:29.7968236Z             {
2026-06-16T04:57:29.7968389Z               "path": "crates/spt-daemon/tests/notifsync.rs",
2026-06-16T04:57:29.7968504Z               "line": 131
2026-06-16T04:57:29.7968605Z             },
2026-06-16T04:57:29.7968704Z             {
2026-06-16T04:57:29.7968833Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7969095Z               "line": 72
2026-06-16T04:57:29.7969203Z             },
2026-06-16T04:57:29.7969308Z             {
2026-06-16T04:57:29.7969496Z               "path": "crates/spt-net/src/net/notif.rs",
2026-06-16T04:57:29.7969593Z               "line": 97
2026-06-16T04:57:29.7969698Z             },
2026-06-16T04:57:29.7969801Z             {
2026-06-16T04:57:29.7969941Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7970050Z               "line": 379
2026-06-16T04:57:29.7970145Z             },
2026-06-16T04:57:29.7970251Z             {
2026-06-16T04:57:29.7970379Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7970484Z               "line": 417
2026-06-16T04:57:29.7970589Z             },
2026-06-16T04:57:29.7970689Z             {
2026-06-16T04:57:29.7970827Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7970932Z               "line": 433
2026-06-16T04:57:29.7971032Z             },
2026-06-16T04:57:29.7971137Z             {
2026-06-16T04:57:29.7971275Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7971376Z               "line": 472
2026-06-16T04:57:29.7971472Z             },
2026-06-16T04:57:29.7971572Z             {
2026-06-16T04:57:29.7971700Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7971806Z               "line": 489
2026-06-16T04:57:29.7971905Z             },
2026-06-16T04:57:29.7972004Z             {
2026-06-16T04:57:29.7972142Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7972250Z               "line": 517
2026-06-16T04:57:29.7972354Z             },
2026-06-16T04:57:29.7972455Z             {
2026-06-16T04:57:29.7972589Z               "path": "crates/spt-store/src/notif.rs",
2026-06-16T04:57:29.7972683Z               "line": 548
2026-06-16T04:57:29.7972784Z             },
2026-06-16T04:57:29.7972884Z             {
2026-06-16T04:57:29.7973026Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7973132Z               "line": 741
2026-06-16T04:57:29.7973233Z             }
2026-06-16T04:57:29.7973437Z           ]
2026-06-16T04:57:29.7973627Z         }
2026-06-16T04:57:29.7973729Z       }
2026-06-16T04:57:29.7973828Z     },
2026-06-16T04:57:29.7973933Z     {
2026-06-16T04:57:29.7974039Z       "id": "REQ-NOTIF-2",
2026-06-16T04:57:29.7974334Z       "title": "spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)",
2026-06-16T04:57:29.7974454Z       "requiredStages": [
2026-06-16T04:57:29.7974556Z         "doc",
2026-06-16T04:57:29.7974666Z         "impl",
2026-06-16T04:57:29.7974771Z         "unit",
2026-06-16T04:57:29.7974873Z         "int"
2026-06-16T04:57:29.7974973Z       ],
2026-06-16T04:57:29.7975079Z       "stages": {
2026-06-16T04:57:29.7975183Z         "doc": {
2026-06-16T04:57:29.7975298Z           "complete": true,
2026-06-16T04:57:29.7975408Z           "evidence": [
2026-06-16T04:57:29.7975517Z             {
2026-06-16T04:57:29.7975637Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.7975751Z               "line": 454
2026-06-16T04:57:29.7975860Z             },
2026-06-16T04:57:29.7975971Z             {
2026-06-16T04:57:29.7976084Z               "path": "docs/MANIFEST.md",
2026-06-16T04:57:29.7976194Z               "line": 76
2026-06-16T04:57:29.7976300Z             }
2026-06-16T04:57:29.7976404Z           ]
2026-06-16T04:57:29.7976504Z         },
2026-06-16T04:57:29.7976610Z         "impl": {
2026-06-16T04:57:29.7976733Z           "complete": true,
2026-06-16T04:57:29.7976843Z           "evidence": [
2026-06-16T04:57:29.7976949Z             {
2026-06-16T04:57:29.7977100Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7977201Z               "line": 287
2026-06-16T04:57:29.7977302Z             },
2026-06-16T04:57:29.7977399Z             {
2026-06-16T04:57:29.7977543Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7977648Z               "line": 301
2026-06-16T04:57:29.7977752Z             },
2026-06-16T04:57:29.7977852Z             {
2026-06-16T04:57:29.7977982Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7978110Z               "line": 326
2026-06-16T04:57:29.7978211Z             },
2026-06-16T04:57:29.7978315Z             {
2026-06-16T04:57:29.7978462Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.7978578Z               "line": 199
2026-06-16T04:57:29.7978682Z             },
2026-06-16T04:57:29.7978782Z             {
2026-06-16T04:57:29.7978931Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.7979121Z               "line": 91
2026-06-16T04:57:29.7979231Z             },
2026-06-16T04:57:29.7979335Z             {
2026-06-16T04:57:29.7979460Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7979574Z               "line": 1994
2026-06-16T04:57:29.7979678Z             },
2026-06-16T04:57:29.7979778Z             {
2026-06-16T04:57:29.7979901Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7980014Z               "line": 2043
2026-06-16T04:57:29.7980104Z             },
2026-06-16T04:57:29.7980210Z             {
2026-06-16T04:57:29.7980338Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7980443Z               "line": 2122
2026-06-16T04:57:29.7980549Z             },
2026-06-16T04:57:29.7980648Z             {
2026-06-16T04:57:29.7980773Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7980882Z               "line": 2161
2026-06-16T04:57:29.7980991Z             }
2026-06-16T04:57:29.7981098Z           ]
2026-06-16T04:57:29.7981197Z         },
2026-06-16T04:57:29.7981306Z         "int": {
2026-06-16T04:57:29.7981412Z           "complete": true,
2026-06-16T04:57:29.7981521Z           "evidence": [
2026-06-16T04:57:29.7981626Z             {
2026-06-16T04:57:29.7981760Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7981873Z               "line": 742
2026-06-16T04:57:29.7981964Z             },
2026-06-16T04:57:29.7982066Z             {
2026-06-16T04:57:29.7982212Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7982447Z               "line": 1192
2026-06-16T04:57:29.7982645Z             }
2026-06-16T04:57:29.7982745Z           ]
2026-06-16T04:57:29.7982843Z         },
2026-06-16T04:57:29.7982943Z         "unit": {
2026-06-16T04:57:29.7983058Z           "complete": true,
2026-06-16T04:57:29.7983158Z           "evidence": [
2026-06-16T04:57:29.7983267Z             {
2026-06-16T04:57:29.7983402Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7983515Z               "line": 1022
2026-06-16T04:57:29.7983620Z             },
2026-06-16T04:57:29.7983726Z             {
2026-06-16T04:57:29.7983854Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.7983964Z               "line": 1090
2026-06-16T04:57:29.7984069Z             },
2026-06-16T04:57:29.7984183Z             {
2026-06-16T04:57:29.7984312Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7984426Z               "line": 6872
2026-06-16T04:57:29.7984526Z             },
2026-06-16T04:57:29.7984637Z             {
2026-06-16T04:57:29.7984769Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.7984875Z               "line": 6927
2026-06-16T04:57:29.7984971Z             }
2026-06-16T04:57:29.7985074Z           ]
2026-06-16T04:57:29.7985178Z         }
2026-06-16T04:57:29.7985269Z       }
2026-06-16T04:57:29.7985377Z     },
2026-06-16T04:57:29.7985476Z     {
2026-06-16T04:57:29.7985600Z       "id": "REQ-PAIR-1",
2026-06-16T04:57:29.7985725Z       "title": "TOTP-seeded SPAKE2 pairing",
2026-06-16T04:57:29.7985838Z       "requiredStages": [
2026-06-16T04:57:29.7985945Z         "impl",
2026-06-16T04:57:29.7986045Z         "unit",
2026-06-16T04:57:29.7986144Z         "int"
2026-06-16T04:57:29.7986245Z       ],
2026-06-16T04:57:29.7986354Z       "stages": {
2026-06-16T04:57:29.7986463Z         "doc": {
2026-06-16T04:57:29.7986584Z           "complete": false,
2026-06-16T04:57:29.7986698Z           "evidence": []
2026-06-16T04:57:29.7986802Z         },
2026-06-16T04:57:29.7986913Z         "impl": {
2026-06-16T04:57:29.7987036Z           "complete": true,
2026-06-16T04:57:29.7987151Z           "evidence": [
2026-06-16T04:57:29.7987251Z             {
2026-06-16T04:57:29.7987412Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7987538Z               "line": 27
2026-06-16T04:57:29.7987660Z             },
2026-06-16T04:57:29.7987776Z             {
2026-06-16T04:57:29.7987932Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7988045Z               "line": 88
2026-06-16T04:57:29.7988141Z             },
2026-06-16T04:57:29.7988238Z             {
2026-06-16T04:57:29.7988412Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7988532Z               "line": 110
2026-06-16T04:57:29.7988665Z             },
2026-06-16T04:57:29.7988781Z             {
2026-06-16T04:57:29.7988933Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7989100Z               "line": 153
2026-06-16T04:57:29.7989209Z             },
2026-06-16T04:57:29.7989309Z             {
2026-06-16T04:57:29.7989454Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7989562Z               "line": 182
2026-06-16T04:57:29.7989662Z             },
2026-06-16T04:57:29.7989763Z             {
2026-06-16T04:57:29.7989914Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.7990020Z               "line": 29
2026-06-16T04:57:29.7990121Z             },
2026-06-16T04:57:29.7990224Z             {
2026-06-16T04:57:29.7990391Z               "path": "crates/spt-net/src/net/pairing/transcript.rs",
2026-06-16T04:57:29.7990494Z               "line": 31
2026-06-16T04:57:29.7990602Z             },
2026-06-16T04:57:29.7990698Z             {
2026-06-16T04:57:29.7990851Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.7990965Z               "line": 44
2026-06-16T04:57:29.7991066Z             },
2026-06-16T04:57:29.7991279Z             {
2026-06-16T04:57:29.7991513Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.7991619Z               "line": 171
2026-06-16T04:57:29.7991719Z             },
2026-06-16T04:57:29.7991823Z             {
2026-06-16T04:57:29.7991972Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.7992076Z               "line": 376
2026-06-16T04:57:29.7992186Z             }
2026-06-16T04:57:29.7992287Z           ]
2026-06-16T04:57:29.7992400Z         },
2026-06-16T04:57:29.7992520Z         "int": {
2026-06-16T04:57:29.7992626Z           "complete": true,
2026-06-16T04:57:29.7992743Z           "evidence": [
2026-06-16T04:57:29.7992844Z             {
2026-06-16T04:57:29.7992993Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7993101Z               "line": 577
2026-06-16T04:57:29.7993210Z             },
2026-06-16T04:57:29.7993305Z             {
2026-06-16T04:57:29.7993446Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.7993570Z               "line": 794
2026-06-16T04:57:29.7993666Z             }
2026-06-16T04:57:29.7993761Z           ]
2026-06-16T04:57:29.7993856Z         },
2026-06-16T04:57:29.7993962Z         "unit": {
2026-06-16T04:57:29.7994080Z           "complete": true,
2026-06-16T04:57:29.7994185Z           "evidence": [
2026-06-16T04:57:29.7994276Z             {
2026-06-16T04:57:29.7994428Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7994567Z               "line": 236
2026-06-16T04:57:29.7994681Z             },
2026-06-16T04:57:29.7994781Z             {
2026-06-16T04:57:29.7994934Z               "path": "crates/spt-net/src/net/pairing/spake.rs",
2026-06-16T04:57:29.7995039Z               "line": 349
2026-06-16T04:57:29.7995139Z             },
2026-06-16T04:57:29.7995240Z             {
2026-06-16T04:57:29.7995392Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.7995503Z               "line": 194
2026-06-16T04:57:29.7995611Z             },
2026-06-16T04:57:29.7995724Z             {
2026-06-16T04:57:29.7995872Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.7995989Z               "line": 216
2026-06-16T04:57:29.7996084Z             },
2026-06-16T04:57:29.7996190Z             {
2026-06-16T04:57:29.7996341Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.7996452Z               "line": 230
2026-06-16T04:57:29.7996561Z             },
2026-06-16T04:57:29.7996656Z             {
2026-06-16T04:57:29.7996800Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.8047955Z               "line": 242
2026-06-16T04:57:29.8048211Z             },
2026-06-16T04:57:29.8048317Z             {
2026-06-16T04:57:29.8048506Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.8048625Z               "line": 256
2026-06-16T04:57:29.8048729Z             },
2026-06-16T04:57:29.8048832Z             {
2026-06-16T04:57:29.8049132Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.8049262Z               "line": 270
2026-06-16T04:57:29.8049377Z             },
2026-06-16T04:57:29.8049495Z             {
2026-06-16T04:57:29.8049657Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.8049762Z               "line": 277
2026-06-16T04:57:29.8049873Z             },
2026-06-16T04:57:29.8049958Z             {
2026-06-16T04:57:29.8050120Z               "path": "crates/spt-net/src/net/pairing/totp.rs",
2026-06-16T04:57:29.8050240Z               "line": 295
2026-06-16T04:57:29.8050339Z             },
2026-06-16T04:57:29.8050449Z             {
2026-06-16T04:57:29.8050598Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8050707Z               "line": 968
2026-06-16T04:57:29.8050807Z             },
2026-06-16T04:57:29.8050913Z             {
2026-06-16T04:57:29.8051059Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8051434Z               "line": 1051
2026-06-16T04:57:29.8051635Z             },
2026-06-16T04:57:29.8051735Z             {
2026-06-16T04:57:29.8051884Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8051988Z               "line": 1121
2026-06-16T04:57:29.8052088Z             },
2026-06-16T04:57:29.8052194Z             {
2026-06-16T04:57:29.8052336Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8052446Z               "line": 1182
2026-06-16T04:57:29.8052546Z             },
2026-06-16T04:57:29.8052650Z             {
2026-06-16T04:57:29.8052795Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8052904Z               "line": 1238
2026-06-16T04:57:29.8053009Z             },
2026-06-16T04:57:29.8053105Z             {
2026-06-16T04:57:29.8053261Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8053366Z               "line": 1457
2026-06-16T04:57:29.8053476Z             }
2026-06-16T04:57:29.8053580Z           ]
2026-06-16T04:57:29.8053679Z         }
2026-06-16T04:57:29.8053780Z       }
2026-06-16T04:57:29.8053869Z     },
2026-06-16T04:57:29.8053972Z     {
2026-06-16T04:57:29.8054078Z       "id": "REQ-PAIR-2",
2026-06-16T04:57:29.8054245Z       "title": "Local trust store with TOFU + warn-on-change",
2026-06-16T04:57:29.8054359Z       "requiredStages": [],
2026-06-16T04:57:29.8054465Z       "stages": {
2026-06-16T04:57:29.8054574Z         "doc": {
2026-06-16T04:57:29.8054679Z           "complete": false,
2026-06-16T04:57:29.8054799Z           "evidence": []
2026-06-16T04:57:29.8054898Z         },
2026-06-16T04:57:29.8054999Z         "impl": {
2026-06-16T04:57:29.8055108Z           "complete": false,
2026-06-16T04:57:29.8055208Z           "evidence": []
2026-06-16T04:57:29.8055313Z         },
2026-06-16T04:57:29.8055413Z         "int": {
2026-06-16T04:57:29.8055518Z           "complete": false,
2026-06-16T04:57:29.8055623Z           "evidence": []
2026-06-16T04:57:29.8055733Z         },
2026-06-16T04:57:29.8055847Z         "unit": {
2026-06-16T04:57:29.8055953Z           "complete": false,
2026-06-16T04:57:29.8056071Z           "evidence": []
2026-06-16T04:57:29.8056167Z         }
2026-06-16T04:57:29.8056272Z       }
2026-06-16T04:57:29.8056372Z     },
2026-06-16T04:57:29.8056480Z     {
2026-06-16T04:57:29.8056580Z       "id": "REQ-PAIR-3",
2026-06-16T04:57:29.8056755Z       "title": "Fetch current pairing code from any paired node",
2026-06-16T04:57:29.8056878Z       "requiredStages": [
2026-06-16T04:57:29.8056984Z         "impl",
2026-06-16T04:57:29.8057093Z         "unit"
2026-06-16T04:57:29.8057193Z       ],
2026-06-16T04:57:29.8057299Z       "stages": {
2026-06-16T04:57:29.8057403Z         "doc": {
2026-06-16T04:57:29.8057512Z           "complete": false,
2026-06-16T04:57:29.8057618Z           "evidence": []
2026-06-16T04:57:29.8057714Z         },
2026-06-16T04:57:29.8057817Z         "impl": {
2026-06-16T04:57:29.8057928Z           "complete": true,
2026-06-16T04:57:29.8058032Z           "evidence": [
2026-06-16T04:57:29.8058142Z             {
2026-06-16T04:57:29.8058276Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8058385Z               "line": 2852
2026-06-16T04:57:29.8058486Z             },
2026-06-16T04:57:29.8058591Z             {
2026-06-16T04:57:29.8058719Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8058835Z               "line": 2921
2026-06-16T04:57:29.8058935Z             },
2026-06-16T04:57:29.8059122Z             {
2026-06-16T04:57:29.8059242Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8059349Z               "line": 3302
2026-06-16T04:57:29.8059459Z             },
2026-06-16T04:57:29.8059565Z             {
2026-06-16T04:57:29.8059697Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8059798Z               "line": 4547
2026-06-16T04:57:29.8059903Z             }
2026-06-16T04:57:29.8060007Z           ]
2026-06-16T04:57:29.8060108Z         },
2026-06-16T04:57:29.8060313Z         "int": {
2026-06-16T04:57:29.8060514Z           "complete": false,
2026-06-16T04:57:29.8060619Z           "evidence": []
2026-06-16T04:57:29.8060723Z         },
2026-06-16T04:57:29.8060829Z         "unit": {
2026-06-16T04:57:29.8060933Z           "complete": true,
2026-06-16T04:57:29.8061042Z           "evidence": [
2026-06-16T04:57:29.8061149Z             {
2026-06-16T04:57:29.8061272Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8061377Z               "line": 8568
2026-06-16T04:57:29.8061482Z             },
2026-06-16T04:57:29.8061581Z             {
2026-06-16T04:57:29.8061702Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8061811Z               "line": 8783
2026-06-16T04:57:29.8061914Z             },
2026-06-16T04:57:29.8062014Z             {
2026-06-16T04:57:29.8062139Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8062247Z               "line": 9385
2026-06-16T04:57:29.8062348Z             },
2026-06-16T04:57:29.8062463Z             {
2026-06-16T04:57:29.8062586Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8062692Z               "line": 9404
2026-06-16T04:57:29.8062792Z             },
2026-06-16T04:57:29.8062901Z             {
2026-06-16T04:57:29.8063021Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8063125Z               "line": 9428
2026-06-16T04:57:29.8063220Z             },
2026-06-16T04:57:29.8063321Z             {
2026-06-16T04:57:29.8063449Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8063554Z               "line": 9447
2026-06-16T04:57:29.8063665Z             },
2026-06-16T04:57:29.8063769Z             {
2026-06-16T04:57:29.8063898Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8064014Z               "line": 9460
2026-06-16T04:57:29.8064116Z             },
2026-06-16T04:57:29.8064221Z             {
2026-06-16T04:57:29.8064345Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8064452Z               "line": 9469
2026-06-16T04:57:29.8064556Z             }
2026-06-16T04:57:29.8064662Z           ]
2026-06-16T04:57:29.8064772Z         }
2026-06-16T04:57:29.8064871Z       }
2026-06-16T04:57:29.8064977Z     },
2026-06-16T04:57:29.8065077Z     {
2026-06-16T04:57:29.8065195Z       "id": "REQ-PAIR-4",
2026-06-16T04:57:29.8065339Z       "title": "Subnet naming on first pairing",
2026-06-16T04:57:29.8065448Z       "requiredStages": [
2026-06-16T04:57:29.8065554Z         "impl",
2026-06-16T04:57:29.8065659Z         "unit"
2026-06-16T04:57:29.8065768Z       ],
2026-06-16T04:57:29.8065869Z       "stages": {
2026-06-16T04:57:29.8065973Z         "doc": {
2026-06-16T04:57:29.8066092Z           "complete": false,
2026-06-16T04:57:29.8066203Z           "evidence": []
2026-06-16T04:57:29.8066312Z         },
2026-06-16T04:57:29.8066412Z         "impl": {
2026-06-16T04:57:29.8066532Z           "complete": true,
2026-06-16T04:57:29.8066636Z           "evidence": [
2026-06-16T04:57:29.8066736Z             {
2026-06-16T04:57:29.8066895Z               "path": "crates/spt-store/src/subnet.rs",
2026-06-16T04:57:29.8067008Z               "line": 174
2026-06-16T04:57:29.8067111Z             }
2026-06-16T04:57:29.8067217Z           ]
2026-06-16T04:57:29.8067319Z         },
2026-06-16T04:57:29.8067424Z         "int": {
2026-06-16T04:57:29.8067544Z           "complete": false,
2026-06-16T04:57:29.8067648Z           "evidence": []
2026-06-16T04:57:29.8067748Z         },
2026-06-16T04:57:29.8067859Z         "unit": {
2026-06-16T04:57:29.8067963Z           "complete": true,
2026-06-16T04:57:29.8068082Z           "evidence": [
2026-06-16T04:57:29.8068178Z             {
2026-06-16T04:57:29.8068330Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8068435Z               "line": 1294
2026-06-16T04:57:29.8068540Z             }
2026-06-16T04:57:29.8068650Z           ]
2026-06-16T04:57:29.8068755Z         }
2026-06-16T04:57:29.8068860Z       }
2026-06-16T04:57:29.8069080Z     },
2026-06-16T04:57:29.8069189Z     {
2026-06-16T04:57:29.8069404Z       "id": "REQ-PAIR-5",
2026-06-16T04:57:29.8069835Z       "title": "Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing",
2026-06-16T04:57:29.8069947Z       "requiredStages": [
2026-06-16T04:57:29.8070048Z         "impl",
2026-06-16T04:57:29.8070159Z         "unit",
2026-06-16T04:57:29.8070257Z         "int"
2026-06-16T04:57:29.8070358Z       ],
2026-06-16T04:57:29.8070459Z       "stages": {
2026-06-16T04:57:29.8070563Z         "doc": {
2026-06-16T04:57:29.8070668Z           "complete": false,
2026-06-16T04:57:29.8070783Z           "evidence": []
2026-06-16T04:57:29.8070892Z         },
2026-06-16T04:57:29.8070988Z         "impl": {
2026-06-16T04:57:29.8071098Z           "complete": true,
2026-06-16T04:57:29.8071211Z           "evidence": [
2026-06-16T04:57:29.8071307Z             {
2026-06-16T04:57:29.8071479Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8071588Z               "line": 44
2026-06-16T04:57:29.8071694Z             },
2026-06-16T04:57:29.8071797Z             {
2026-06-16T04:57:29.8071952Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8072052Z               "line": 96
2026-06-16T04:57:29.8072156Z             },
2026-06-16T04:57:29.8072252Z             {
2026-06-16T04:57:29.8072404Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8072517Z               "line": 107
2026-06-16T04:57:29.8072617Z             },
2026-06-16T04:57:29.8072719Z             {
2026-06-16T04:57:29.8072874Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8072981Z               "line": 124
2026-06-16T04:57:29.8073085Z             },
2026-06-16T04:57:29.8073184Z             {
2026-06-16T04:57:29.8073333Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8073442Z               "line": 155
2026-06-16T04:57:29.8073542Z             },
2026-06-16T04:57:29.8073648Z             {
2026-06-16T04:57:29.8073790Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8073896Z               "line": 195
2026-06-16T04:57:29.8073995Z             },
2026-06-16T04:57:29.8074100Z             {
2026-06-16T04:57:29.8074244Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8074357Z               "line": 251
2026-06-16T04:57:29.8074463Z             },
2026-06-16T04:57:29.8074564Z             {
2026-06-16T04:57:29.8074734Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8074838Z               "line": 33
2026-06-16T04:57:29.8074947Z             },
2026-06-16T04:57:29.8075055Z             {
2026-06-16T04:57:29.8075223Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8075332Z               "line": 45
2026-06-16T04:57:29.8075441Z             },
2026-06-16T04:57:29.8075542Z             {
2026-06-16T04:57:29.8075708Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8075824Z               "line": 59
2026-06-16T04:57:29.8075938Z             },
2026-06-16T04:57:29.8076037Z             {
2026-06-16T04:57:29.8076191Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8076299Z               "line": 376
2026-06-16T04:57:29.8076404Z             }
2026-06-16T04:57:29.8076496Z           ]
2026-06-16T04:57:29.8076605Z         },
2026-06-16T04:57:29.8076714Z         "int": {
2026-06-16T04:57:29.8076825Z           "complete": true,
2026-06-16T04:57:29.8076939Z           "evidence": [
2026-06-16T04:57:29.8077039Z             {
2026-06-16T04:57:29.8077196Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8077306Z               "line": 794
2026-06-16T04:57:29.8077412Z             },
2026-06-16T04:57:29.8077520Z             {
2026-06-16T04:57:29.8077671Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8077782Z               "line": 342
2026-06-16T04:57:29.8077965Z             }
2026-06-16T04:57:29.8078157Z           ]
2026-06-16T04:57:29.8078251Z         },
2026-06-16T04:57:29.8078356Z         "unit": {
2026-06-16T04:57:29.8078476Z           "complete": true,
2026-06-16T04:57:29.8078580Z           "evidence": [
2026-06-16T04:57:29.8078681Z             {
2026-06-16T04:57:29.8078829Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8079020Z               "line": 293
2026-06-16T04:57:29.8079119Z             },
2026-06-16T04:57:29.8079224Z             {
2026-06-16T04:57:29.8079373Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8079481Z               "line": 304
2026-06-16T04:57:29.8079586Z             },
2026-06-16T04:57:29.8079688Z             {
2026-06-16T04:57:29.8079839Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8079945Z               "line": 406
2026-06-16T04:57:29.8080050Z             },
2026-06-16T04:57:29.8080148Z             {
2026-06-16T04:57:29.8080324Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8080442Z               "line": 72
2026-06-16T04:57:29.8080541Z             },
2026-06-16T04:57:29.8080651Z             {
2026-06-16T04:57:29.8080813Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8080923Z               "line": 82
2026-06-16T04:57:29.8081033Z             },
2026-06-16T04:57:29.8081133Z             {
2026-06-16T04:57:29.8081296Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8081400Z               "line": 100
2026-06-16T04:57:29.8081504Z             },
2026-06-16T04:57:29.8081610Z             {
2026-06-16T04:57:29.8081767Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8081872Z               "line": 110
2026-06-16T04:57:29.8081977Z             },
2026-06-16T04:57:29.8082077Z             {
2026-06-16T04:57:29.8082240Z               "path": "crates/spt-net/src/net/pairing/rendezvous.rs",
2026-06-16T04:57:29.8082358Z               "line": 125
2026-06-16T04:57:29.8082458Z             },
2026-06-16T04:57:29.8082560Z             {
2026-06-16T04:57:29.8082716Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8082822Z               "line": 1044
2026-06-16T04:57:29.8082931Z             },
2026-06-16T04:57:29.8083034Z             {
2026-06-16T04:57:29.8083182Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8083298Z               "line": 1110
2026-06-16T04:57:29.8083396Z             },
2026-06-16T04:57:29.8083506Z             {
2026-06-16T04:57:29.8083655Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8083773Z               "line": 1357
2026-06-16T04:57:29.8083875Z             }
2026-06-16T04:57:29.8083974Z           ]
2026-06-16T04:57:29.8084083Z         }
2026-06-16T04:57:29.8084184Z       }
2026-06-16T04:57:29.8084274Z     },
2026-06-16T04:57:29.8084384Z     {
2026-06-16T04:57:29.8084542Z       "id": "REQ-PAIR-6",
2026-06-16T04:57:29.8084842Z       "title": "Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)",
2026-06-16T04:57:29.8084956Z       "requiredStages": [
2026-06-16T04:57:29.8085071Z         "impl",
2026-06-16T04:57:29.8085171Z         "unit"
2026-06-16T04:57:29.8085274Z       ],
2026-06-16T04:57:29.8085384Z       "stages": {
2026-06-16T04:57:29.8085489Z         "doc": {
2026-06-16T04:57:29.8085606Z           "complete": false,
2026-06-16T04:57:29.8085716Z           "evidence": []
2026-06-16T04:57:29.8085826Z         },
2026-06-16T04:57:29.8085934Z         "impl": {
2026-06-16T04:57:29.8086049Z           "complete": true,
2026-06-16T04:57:29.8086159Z           "evidence": [
2026-06-16T04:57:29.8086263Z             {
2026-06-16T04:57:29.8086394Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8086517Z               "line": 2921
2026-06-16T04:57:29.8086631Z             },
2026-06-16T04:57:29.8086727Z             {
2026-06-16T04:57:29.8086969Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8087170Z               "line": 3302
2026-06-16T04:57:29.8087274Z             },
2026-06-16T04:57:29.8087371Z             {
2026-06-16T04:57:29.8087523Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.8087638Z               "line": 18
2026-06-16T04:57:29.8087738Z             },
2026-06-16T04:57:29.8087842Z             {
2026-06-16T04:57:29.8087977Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.8088085Z               "line": 49
2026-06-16T04:57:29.8088185Z             },
2026-06-16T04:57:29.8088284Z             {
2026-06-16T04:57:29.8088430Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.8088534Z               "line": 318
2026-06-16T04:57:29.8088645Z             }
2026-06-16T04:57:29.8088750Z           ]
2026-06-16T04:57:29.8088858Z         },
2026-06-16T04:57:29.8089036Z         "int": {
2026-06-16T04:57:29.8089145Z           "complete": false,
2026-06-16T04:57:29.8089275Z           "evidence": []
2026-06-16T04:57:29.8089380Z         },
2026-06-16T04:57:29.8089488Z         "unit": {
2026-06-16T04:57:29.8089599Z           "complete": true,
2026-06-16T04:57:29.8089703Z           "evidence": [
2026-06-16T04:57:29.8089803Z             {
2026-06-16T04:57:29.8089938Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8090051Z               "line": 9482
2026-06-16T04:57:29.8090151Z             },
2026-06-16T04:57:29.8090253Z             {
2026-06-16T04:57:29.8090375Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8090486Z               "line": 9499
2026-06-16T04:57:29.8090591Z             },
2026-06-16T04:57:29.8090690Z             {
2026-06-16T04:57:29.8090832Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.8090927Z               "line": 383
2026-06-16T04:57:29.8091063Z             },
2026-06-16T04:57:29.8091193Z             {
2026-06-16T04:57:29.8091493Z               "path": "crates/spt/src/elevation.rs",
2026-06-16T04:57:29.8091678Z               "line": 392
2026-06-16T04:57:29.8091841Z             }
2026-06-16T04:57:29.8091975Z           ]
2026-06-16T04:57:29.8092138Z         }
2026-06-16T04:57:29.8092332Z       }
2026-06-16T04:57:29.8092495Z     },
2026-06-16T04:57:29.8092666Z     {
2026-06-16T04:57:29.8092809Z       "id": "REQ-PAIR-7",
2026-06-16T04:57:29.8093062Z       "title": "Subnet icon (inline image metadata, GUI-only consumer)",
2026-06-16T04:57:29.8093190Z       "requiredStages": [],
2026-06-16T04:57:29.8093430Z       "stages": {
2026-06-16T04:57:29.8093585Z         "doc": {
2026-06-16T04:57:29.8093728Z           "complete": false,
2026-06-16T04:57:29.8093895Z           "evidence": []
2026-06-16T04:57:29.8094014Z         },
2026-06-16T04:57:29.8094238Z         "impl": {
2026-06-16T04:57:29.8094377Z           "complete": false,
2026-06-16T04:57:29.8094548Z           "evidence": []
2026-06-16T04:57:29.8094706Z         },
2026-06-16T04:57:29.8094824Z         "int": {
2026-06-16T04:57:29.8095055Z           "complete": false,
2026-06-16T04:57:29.8095206Z           "evidence": []
2026-06-16T04:57:29.8095355Z         },
2026-06-16T04:57:29.8095491Z         "unit": {
2026-06-16T04:57:29.8095660Z           "complete": false,
2026-06-16T04:57:29.8095868Z           "evidence": []
2026-06-16T04:57:29.8095992Z         }
2026-06-16T04:57:29.8096151Z       }
2026-06-16T04:57:29.8096276Z     },
2026-06-16T04:57:29.8096438Z     {
2026-06-16T04:57:29.8096653Z       "id": "REQ-PAIR-8",
2026-06-16T04:57:29.8098179Z       "title": "NTP TOTP offset: the pairing ceremony queries NTP at ceremony time (both sides) and applies the derived offset to the TOTP calculation in-process only; system-clock fallback when NTP is unreachable (offline LAN pairing unaffected — NTP failure never blocks a pairing that succeeds today); never sets the OS clock; no background sync loop (M8 decision 18; field trigger: enlyzeam clock >1 min off exceeds the ±1 window)",
2026-06-16T04:57:29.8098354Z       "requiredStages": [
2026-06-16T04:57:29.8098622Z         "impl",
2026-06-16T04:57:29.8098854Z         "unit"
2026-06-16T04:57:29.8099162Z       ],
2026-06-16T04:57:29.8099292Z       "stages": {
2026-06-16T04:57:29.8099496Z         "doc": {
2026-06-16T04:57:29.8099634Z           "complete": false,
2026-06-16T04:57:29.8099787Z           "evidence": []
2026-06-16T04:57:29.8099945Z         },
2026-06-16T04:57:29.8100116Z         "impl": {
2026-06-16T04:57:29.8100301Z           "complete": true,
2026-06-16T04:57:29.8100436Z           "evidence": [
2026-06-16T04:57:29.8100583Z             {
2026-06-16T04:57:29.8100799Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8100988Z               "line": 577
2026-06-16T04:57:29.8101160Z             },
2026-06-16T04:57:29.8101288Z             {
2026-06-16T04:57:29.8101482Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8101647Z               "line": 22
2026-06-16T04:57:29.8101834Z             },
2026-06-16T04:57:29.8101962Z             {
2026-06-16T04:57:29.8102173Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8102339Z               "line": 76
2026-06-16T04:57:29.8102492Z             },
2026-06-16T04:57:29.8102683Z             {
2026-06-16T04:57:29.8102854Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8103022Z               "line": 127
2026-06-16T04:57:29.8103154Z             }
2026-06-16T04:57:29.8103332Z           ]
2026-06-16T04:57:29.8103522Z         },
2026-06-16T04:57:29.8103651Z         "int": {
2026-06-16T04:57:29.8103821Z           "complete": false,
2026-06-16T04:57:29.8103952Z           "evidence": []
2026-06-16T04:57:29.8104141Z         },
2026-06-16T04:57:29.8104331Z         "unit": {
2026-06-16T04:57:29.8104474Z           "complete": true,
2026-06-16T04:57:29.8104641Z           "evidence": [
2026-06-16T04:57:29.8104765Z             {
2026-06-16T04:57:29.8105009Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8105160Z               "line": 183
2026-06-16T04:57:29.8105328Z             },
2026-06-16T04:57:29.8105484Z             {
2026-06-16T04:57:29.8105657Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8105867Z               "line": 195
2026-06-16T04:57:29.8106014Z             },
2026-06-16T04:57:29.8106177Z             {
2026-06-16T04:57:29.8106353Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8106519Z               "line": 211
2026-06-16T04:57:29.8106707Z             },
2026-06-16T04:57:29.8106846Z             {
2026-06-16T04:57:29.8107050Z               "path": "crates/spt-net/src/net/pairing/ntp.rs",
2026-06-16T04:57:29.8107179Z               "line": 227
2026-06-16T04:57:29.8107351Z             }
2026-06-16T04:57:29.8107528Z           ]
2026-06-16T04:57:29.8107675Z         }
2026-06-16T04:57:29.8107828Z       }
2026-06-16T04:57:29.8107957Z     },
2026-06-16T04:57:29.8108119Z     {
2026-06-16T04:57:29.8108238Z       "id": "REQ-PRES-1",
2026-06-16T04:57:29.8110209Z       "title": "Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)",
2026-06-16T04:57:29.8110405Z       "requiredStages": [
2026-06-16T04:57:29.8110533Z         "impl",
2026-06-16T04:57:29.8110705Z         "unit",
2026-06-16T04:57:29.8110895Z         "int"
2026-06-16T04:57:29.8111034Z       ],
2026-06-16T04:57:29.8111191Z       "stages": {
2026-06-16T04:57:29.8111320Z         "doc": {
2026-06-16T04:57:29.8111500Z           "complete": true,
2026-06-16T04:57:29.8111621Z           "evidence": [
2026-06-16T04:57:29.8111833Z             {
2026-06-16T04:57:29.8112024Z               "path": "docs/DEFERRED.md",
2026-06-16T04:57:29.8112288Z               "line": 11
2026-06-16T04:57:29.8112541Z             }
2026-06-16T04:57:29.8112652Z           ]
2026-06-16T04:57:29.8112865Z         },
2026-06-16T04:57:29.8113009Z         "impl": {
2026-06-16T04:57:29.8113171Z           "complete": true,
2026-06-16T04:57:29.8113338Z           "evidence": [
2026-06-16T04:57:29.8113442Z             {
2026-06-16T04:57:29.8113715Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.8113853Z               "line": 515
2026-06-16T04:57:29.8114005Z             },
2026-06-16T04:57:29.8114134Z             {
2026-06-16T04:57:29.8114320Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.8114555Z               "line": 567
2026-06-16T04:57:29.8114681Z             },
2026-06-16T04:57:29.8114838Z             {
2026-06-16T04:57:29.8115006Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.8115173Z               "line": 188
2026-06-16T04:57:29.8115392Z             },
2026-06-16T04:57:29.8115531Z             {
2026-06-16T04:57:29.8115730Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.8115864Z               "line": 214
2026-06-16T04:57:29.8116007Z             },
2026-06-16T04:57:29.8116175Z             {
2026-06-16T04:57:29.8116393Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8116560Z               "line": 28
2026-06-16T04:57:29.8116688Z             },
2026-06-16T04:57:29.8116833Z             {
2026-06-16T04:57:29.8117050Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8117234Z               "line": 105
2026-06-16T04:57:29.8117386Z             },
2026-06-16T04:57:29.8117516Z             {
2026-06-16T04:57:29.8117705Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8117873Z               "line": 161
2026-06-16T04:57:29.8118045Z             },
2026-06-16T04:57:29.8118168Z             {
2026-06-16T04:57:29.8118365Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8118545Z               "line": 180
2026-06-16T04:57:29.8118694Z             },
2026-06-16T04:57:29.8118874Z             {
2026-06-16T04:57:29.8119136Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8119304Z               "line": 415
2026-06-16T04:57:29.8119446Z             },
2026-06-16T04:57:29.8119633Z             {
2026-06-16T04:57:29.8119855Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8119993Z               "line": 289
2026-06-16T04:57:29.8120167Z             },
2026-06-16T04:57:29.8120297Z             {
2026-06-16T04:57:29.8120530Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8120711Z               "line": 336
2026-06-16T04:57:29.8120830Z             },
2026-06-16T04:57:29.8120994Z             {
2026-06-16T04:57:29.8121168Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8121355Z               "line": 362
2026-06-16T04:57:29.8121508Z             },
2026-06-16T04:57:29.8121665Z             {
2026-06-16T04:57:29.8121885Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8122027Z               "line": 100
2026-06-16T04:57:29.8122214Z             }
2026-06-16T04:57:29.8122360Z           ]
2026-06-16T04:57:29.8122527Z         },
2026-06-16T04:57:29.8122677Z         "int": {
2026-06-16T04:57:29.8122853Z           "complete": true,
2026-06-16T04:57:29.8123039Z           "evidence": [
2026-06-16T04:57:29.8123183Z             {
2026-06-16T04:57:29.8123411Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8123541Z               "line": 559
2026-06-16T04:57:29.8123711Z             },
2026-06-16T04:57:29.8123903Z             {
2026-06-16T04:57:29.8124093Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8124285Z               "line": 679
2026-06-16T04:57:29.8124413Z             },
2026-06-16T04:57:29.8124584Z             {
2026-06-16T04:57:29.8124843Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8125181Z               "line": 1072
2026-06-16T04:57:29.8125346Z             }
2026-06-16T04:57:29.8125476Z           ]
2026-06-16T04:57:29.8125646Z         },
2026-06-16T04:57:29.8125757Z         "unit": {
2026-06-16T04:57:29.8126004Z           "complete": true,
2026-06-16T04:57:29.8126148Z           "evidence": [
2026-06-16T04:57:29.8126314Z             {
2026-06-16T04:57:29.8126510Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.8126633Z               "line": 674
2026-06-16T04:57:29.8126863Z             },
2026-06-16T04:57:29.8126992Z             {
2026-06-16T04:57:29.8127211Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8127383Z               "line": 238
2026-06-16T04:57:29.8127506Z             },
2026-06-16T04:57:29.8127715Z             {
2026-06-16T04:57:29.8127889Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8128057Z               "line": 269
2026-06-16T04:57:29.8128198Z             },
2026-06-16T04:57:29.8128367Z             {
2026-06-16T04:57:29.8128620Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8128762Z               "line": 305
2026-06-16T04:57:29.8128930Z             },
2026-06-16T04:57:29.8129143Z             {
2026-06-16T04:57:29.8129344Z               "path": "crates/spt-daemon/src/presence.rs",
2026-06-16T04:57:29.8129559Z               "line": 336
2026-06-16T04:57:29.8129687Z             },
2026-06-16T04:57:29.8129840Z             {
2026-06-16T04:57:29.8130030Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8130188Z               "line": 1165
2026-06-16T04:57:29.8130349Z             },
2026-06-16T04:57:29.8130520Z             {
2026-06-16T04:57:29.8130727Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8130871Z               "line": 1131
2026-06-16T04:57:29.8131019Z             }
2026-06-16T04:57:29.8131186Z           ]
2026-06-16T04:57:29.8131367Z         }
2026-06-16T04:57:29.8131492Z       }
2026-06-16T04:57:29.8131667Z     },
2026-06-16T04:57:29.8131806Z     {
2026-06-16T04:57:29.8131982Z       "id": "REQ-RC-1",
2026-06-16T04:57:29.8134139Z       "title": "`spt rc <id>` — user CLI attaching a local terminal to a broker-held PTY, reusing the cross-node attach machinery (attach.rs request_attach → send_attach_input pump, spt-net AttachRecord codec); local attach is the degenerate single-node case of the cross-node path (rides REQ-TERM-3 byte-stream streaming). Read-only `--view` (watch, no stdin forwarded). Clean detach that does NOT terminate the broker-held session (KNOWN-HAZARDS: PTY ownership stays with the broker; no termination on detach). Explicit detach keybind that cannot collide with harness passthrough input (legacy capsule used a ctrl-b prefix); documented. ConPTY DSR auto-answer in the attach reader (hazard 5.5).",
2026-06-16T04:57:29.8134344Z       "requiredStages": [
2026-06-16T04:57:29.8134477Z         "impl",
2026-06-16T04:57:29.8134639Z         "unit",
2026-06-16T04:57:29.8134810Z         "int"
2026-06-16T04:57:29.8134983Z       ],
2026-06-16T04:57:29.8135173Z       "stages": {
2026-06-16T04:57:29.8135298Z         "doc": {
2026-06-16T04:57:29.8135463Z           "complete": false,
2026-06-16T04:57:29.8135637Z           "evidence": []
2026-06-16T04:57:29.8135830Z         },
2026-06-16T04:57:29.8135978Z         "impl": {
2026-06-16T04:57:29.8136159Z           "complete": true,
2026-06-16T04:57:29.8136317Z           "evidence": [
2026-06-16T04:57:29.8136488Z             {
2026-06-16T04:57:29.8136722Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.8136860Z               "line": 895
2026-06-16T04:57:29.8137027Z             },
2026-06-16T04:57:29.8137155Z             {
2026-06-16T04:57:29.8137394Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8137605Z               "line": 1168
2026-06-16T04:57:29.8137728Z             },
2026-06-16T04:57:29.8137995Z             {
2026-06-16T04:57:29.8138170Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8138477Z               "line": 890
2026-06-16T04:57:29.8138660Z             },
2026-06-16T04:57:29.8138782Z             {
2026-06-16T04:57:29.8139069Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8139204Z               "line": 924
2026-06-16T04:57:29.8139446Z             },
2026-06-16T04:57:29.8139594Z             {
2026-06-16T04:57:29.8139775Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8139947Z               "line": 22
2026-06-16T04:57:29.8140095Z             },
2026-06-16T04:57:29.8140280Z             {
2026-06-16T04:57:29.8140449Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8140623Z               "line": 181
2026-06-16T04:57:29.8140778Z             }
2026-06-16T04:57:29.8140919Z           ]
2026-06-16T04:57:29.8141100Z         },
2026-06-16T04:57:29.8141240Z         "int": {
2026-06-16T04:57:29.8141422Z           "complete": true,
2026-06-16T04:57:29.8141574Z           "evidence": [
2026-06-16T04:57:29.8141751Z             {
2026-06-16T04:57:29.8141969Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8142118Z               "line": 252
2026-06-16T04:57:29.8142293Z             },
2026-06-16T04:57:29.8142419Z             {
2026-06-16T04:57:29.8142637Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8142767Z               "line": 279
2026-06-16T04:57:29.8142981Z             },
2026-06-16T04:57:29.8143147Z             {
2026-06-16T04:57:29.8143335Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8143509Z               "line": 404
2026-06-16T04:57:29.8143628Z             }
2026-06-16T04:57:29.8143912Z           ]
2026-06-16T04:57:29.8144090Z         },
2026-06-16T04:57:29.8144241Z         "unit": {
2026-06-16T04:57:29.8144418Z           "complete": true,
2026-06-16T04:57:29.8144546Z           "evidence": [
2026-06-16T04:57:29.8144752Z             {
2026-06-16T04:57:29.8144933Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8145123Z               "line": 1245
2026-06-16T04:57:29.8145277Z             },
2026-06-16T04:57:29.8151246Z             {
2026-06-16T04:57:29.8151441Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8151564Z               "line": 421
2026-06-16T04:57:29.8151669Z             },
2026-06-16T04:57:29.8151782Z             {
2026-06-16T04:57:29.8151909Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8152015Z               "line": 450
2026-06-16T04:57:29.8152125Z             },
2026-06-16T04:57:29.8152229Z             {
2026-06-16T04:57:29.8152359Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8152463Z               "line": 463
2026-06-16T04:57:29.8152573Z             }
2026-06-16T04:57:29.8152669Z           ]
2026-06-16T04:57:29.8152773Z         }
2026-06-16T04:57:29.8152873Z       }
2026-06-16T04:57:29.8152979Z     },
2026-06-16T04:57:29.8153088Z     {
2026-06-16T04:57:29.8153212Z       "id": "REQ-RCVIEW-1",
2026-06-16T04:57:29.8157800Z       "title": "Remote-attach controller/viewer model (CONTEXT.md:317): a session's broker OutputLog serves ONE interactive controller (input + EXCLUSIVE PTY resize; its viewport sets the size, sent on attach + every window change via crossterm Event::Resize) plus ANY NUMBER of read-only `--view` attachers (output-only, no input, no resize; client-side letterbox — center+pad when larger, clip+1-line indicator when smaller; only the local ctrl-b d detach chord). Attach intent is three-valued (`Viewer | Control | Take`, wire-default Control): Control to a FREE endpoint becomes controller, Control to a CONTROLLED endpoint is REFUSED with guidance (`--view`/`--take`) — never auto-viewer, never silent-displace. Wire adds (additive, N-1 skip-unknown): `Request.intent`, `Resize{rows,cols}` (controller-only), `Size{rows,cols}` (→viewer), `Displaced{by}` (→displaced controller). The brain-resume cursor (delivered_through, ADR-0018) tracks the CONTROLLER ONLY; viewers replay from their own from_seq and never move it. Dormancy keys on the controller ONLY: controller attach wakes / controller detach goes dormant (even with viewers present); viewer attach/detach is wake-neutral and may watch a dormant endpoint as-is. v1: viewing is gated identically to driving — a viewer runs the same access_check(Unsolicited) as a controller (watching reveals full session contents = a real disclosure); a lighter distinct watch-gate is deferred to cross-subnet/finer-consent (CONTEXT.md:317 'driving ≠ watching' = the future seam).",
2026-06-16T04:57:29.8158219Z       "requiredStages": [
2026-06-16T04:57:29.8158319Z         "doc",
2026-06-16T04:57:29.8158425Z         "impl",
2026-06-16T04:57:29.8158529Z         "unit",
2026-06-16T04:57:29.8158634Z         "int"
2026-06-16T04:57:29.8158730Z       ],
2026-06-16T04:57:29.8158824Z       "stages": {
2026-06-16T04:57:29.8158924Z         "doc": {
2026-06-16T04:57:29.8159134Z           "complete": true,
2026-06-16T04:57:29.8159271Z           "evidence": [
2026-06-16T04:57:29.8159386Z             {
2026-06-16T04:57:29.8159508Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8159612Z               "line": 323
2026-06-16T04:57:29.8159713Z             }
2026-06-16T04:57:29.8159817Z           ]
2026-06-16T04:57:29.8159922Z         },
2026-06-16T04:57:29.8160028Z         "impl": {
2026-06-16T04:57:29.8160142Z           "complete": true,
2026-06-16T04:57:29.8160261Z           "evidence": [
2026-06-16T04:57:29.8160357Z             {
2026-06-16T04:57:29.8160509Z               "path": "crates/spt-daemon/src/attach.rs",
2026-06-16T04:57:29.8160624Z               "line": 323
2026-06-16T04:57:29.8160724Z             },
2026-06-16T04:57:29.8160838Z             {
2026-06-16T04:57:29.8160987Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8161091Z               "line": 430
2026-06-16T04:57:29.8161195Z             },
2026-06-16T04:57:29.8161302Z             {
2026-06-16T04:57:29.8161458Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8161573Z               "line": 441
2026-06-16T04:57:29.8161677Z             },
2026-06-16T04:57:29.8161782Z             {
2026-06-16T04:57:29.8161932Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.8162039Z               "line": 41
2026-06-16T04:57:29.8162148Z             },
2026-06-16T04:57:29.8162253Z             {
2026-06-16T04:57:29.8162394Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.8162499Z               "line": 62
2026-06-16T04:57:29.8162604Z             },
2026-06-16T04:57:29.8162713Z             {
2026-06-16T04:57:29.8162852Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.8162957Z               "line": 251
2026-06-16T04:57:29.8163071Z             },
2026-06-16T04:57:29.8163167Z             {
2026-06-16T04:57:29.8163300Z               "path": "crates/spt/src/rc.rs",
2026-06-16T04:57:29.8163405Z               "line": 181
2026-06-16T04:57:29.8163516Z             }
2026-06-16T04:57:29.8163615Z           ]
2026-06-16T04:57:29.8163724Z         },
2026-06-16T04:57:29.8163826Z         "int": {
2026-06-16T04:57:29.8163934Z           "complete": true,
2026-06-16T04:57:29.8164039Z           "evidence": [
2026-06-16T04:57:29.8164140Z             {
2026-06-16T04:57:29.8164301Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8164402Z               "line": 789
2026-06-16T04:57:29.8164502Z             },
2026-06-16T04:57:29.8164601Z             {
2026-06-16T04:57:29.8164748Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8164862Z               "line": 829
2026-06-16T04:57:29.8164970Z             },
2026-06-16T04:57:29.8165075Z             {
2026-06-16T04:57:29.8165219Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8165327Z               "line": 876
2026-06-16T04:57:29.8165438Z             },
2026-06-16T04:57:29.8165533Z             {
2026-06-16T04:57:29.8165805Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8166010Z               "line": 988
2026-06-16T04:57:29.8166115Z             }
2026-06-16T04:57:29.8166229Z           ]
2026-06-16T04:57:29.8166329Z         },
2026-06-16T04:57:29.8166430Z         "unit": {
2026-06-16T04:57:29.8166544Z           "complete": true,
2026-06-16T04:57:29.8166649Z           "evidence": [
2026-06-16T04:57:29.8166750Z             {
2026-06-16T04:57:29.8166897Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.8166998Z               "line": 175
2026-06-16T04:57:29.8167097Z             },
2026-06-16T04:57:29.8167207Z             {
2026-06-16T04:57:29.8167351Z               "path": "crates/spt-net/src/net/attach.rs",
2026-06-16T04:57:29.8167454Z               "line": 195
2026-06-16T04:57:29.8167549Z             }
2026-06-16T04:57:29.8167654Z           ]
2026-06-16T04:57:29.8167750Z         }
2026-06-16T04:57:29.8167853Z       }
2026-06-16T04:57:29.8167954Z     },
2026-06-16T04:57:29.8168064Z     {
2026-06-16T04:57:29.8168187Z       "id": "REQ-REACH-1",
2026-06-16T04:57:29.8168356Z       "title": "Off-node remote-drive detection + file transfer",
2026-06-16T04:57:29.8168479Z       "requiredStages": [
2026-06-16T04:57:29.8168579Z         "impl",
2026-06-16T04:57:29.8168679Z         "unit",
2026-06-16T04:57:29.8168775Z         "int"
2026-06-16T04:57:29.8168869Z       ],
2026-06-16T04:57:29.8169089Z       "stages": {
2026-06-16T04:57:29.8169194Z         "doc": {
2026-06-16T04:57:29.8169309Z           "complete": false,
2026-06-16T04:57:29.8169432Z           "evidence": []
2026-06-16T04:57:29.8169528Z         },
2026-06-16T04:57:29.8169634Z         "impl": {
2026-06-16T04:57:29.8169737Z           "complete": true,
2026-06-16T04:57:29.8169845Z           "evidence": [
2026-06-16T04:57:29.8169941Z             {
2026-06-16T04:57:29.8170087Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8170192Z               "line": 430
2026-06-16T04:57:29.8170292Z             },
2026-06-16T04:57:29.8170392Z             {
2026-06-16T04:57:29.8170535Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8170640Z               "line": 76
2026-06-16T04:57:29.8170740Z             },
2026-06-16T04:57:29.8170841Z             {
2026-06-16T04:57:29.8170984Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8171083Z               "line": 222
2026-06-16T04:57:29.8171189Z             },
2026-06-16T04:57:29.8171298Z             {
2026-06-16T04:57:29.8171436Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8171542Z               "line": 422
2026-06-16T04:57:29.8171647Z             },
2026-06-16T04:57:29.8171746Z             {
2026-06-16T04:57:29.8171871Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8171975Z               "line": 529
2026-06-16T04:57:29.8172075Z             },
2026-06-16T04:57:29.8172181Z             {
2026-06-16T04:57:29.8172323Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T04:57:29.8172439Z               "line": 39
2026-06-16T04:57:29.8172543Z             },
2026-06-16T04:57:29.8172642Z             {
2026-06-16T04:57:29.8172780Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.8172884Z               "line": 243
2026-06-16T04:57:29.8172992Z             },
2026-06-16T04:57:29.8173087Z             {
2026-06-16T04:57:29.8173222Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T04:57:29.8173335Z               "line": 88
2026-06-16T04:57:29.8173427Z             },
2026-06-16T04:57:29.8173541Z             {
2026-06-16T04:57:29.8173673Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T04:57:29.8173789Z               "line": 98
2026-06-16T04:57:29.8173893Z             },
2026-06-16T04:57:29.8173998Z             {
2026-06-16T04:57:29.8174137Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8174246Z               "line": 229
2026-06-16T04:57:29.8174347Z             }
2026-06-16T04:57:29.8174551Z           ]
2026-06-16T04:57:29.8174739Z         },
2026-06-16T04:57:29.8174837Z         "int": {
2026-06-16T04:57:29.8174957Z           "complete": true,
2026-06-16T04:57:29.8175067Z           "evidence": [
2026-06-16T04:57:29.8175166Z             {
2026-06-16T04:57:29.8175322Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8175422Z               "line": 415
2026-06-16T04:57:29.8175526Z             },
2026-06-16T04:57:29.8175630Z             {
2026-06-16T04:57:29.8175784Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8175892Z               "line": 516
2026-06-16T04:57:29.8175994Z             },
2026-06-16T04:57:29.8176103Z             {
2026-06-16T04:57:29.8176250Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8176355Z               "line": 905
2026-06-16T04:57:29.8176460Z             },
2026-06-16T04:57:29.8176555Z             {
2026-06-16T04:57:29.8176708Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8176832Z               "line": 1230
2026-06-16T04:57:29.8176938Z             }
2026-06-16T04:57:29.8177037Z           ]
2026-06-16T04:57:29.8177137Z         },
2026-06-16T04:57:29.8177243Z         "unit": {
2026-06-16T04:57:29.8177356Z           "complete": true,
2026-06-16T04:57:29.8177466Z           "evidence": [
2026-06-16T04:57:29.8177568Z             {
2026-06-16T04:57:29.8177714Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8177819Z               "line": 639
2026-06-16T04:57:29.8177921Z             },
2026-06-16T04:57:29.8178019Z             {
2026-06-16T04:57:29.8178151Z               "path": "crates/spt-daemon/src/xfer.rs",
2026-06-16T04:57:29.8178257Z               "line": 660
2026-06-16T04:57:29.8178357Z             },
2026-06-16T04:57:29.8178461Z             {
2026-06-16T04:57:29.8178611Z               "path": "crates/spt-daemon/tests/attach.rs",
2026-06-16T04:57:29.8178714Z               "line": 646
2026-06-16T04:57:29.8178815Z             },
2026-06-16T04:57:29.8178916Z             {
2026-06-16T04:57:29.8179143Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T04:57:29.8179244Z               "line": 93
2026-06-16T04:57:29.8179354Z             },
2026-06-16T04:57:29.8179449Z             {
2026-06-16T04:57:29.8179602Z               "path": "crates/spt-daemon/tests/xfer.rs",
2026-06-16T04:57:29.8179711Z               "line": 224
2026-06-16T04:57:29.8179808Z             },
2026-06-16T04:57:29.8179921Z             {
2026-06-16T04:57:29.8180054Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T04:57:29.8180156Z               "line": 96
2026-06-16T04:57:29.8180259Z             },
2026-06-16T04:57:29.8180359Z             {
2026-06-16T04:57:29.8180501Z               "path": "crates/spt-net/src/net/xfer.rs",
2026-06-16T04:57:29.8180609Z               "line": 146
2026-06-16T04:57:29.8180714Z             },
2026-06-16T04:57:29.8180814Z             {
2026-06-16T04:57:29.8180952Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.8181062Z               "line": 572
2026-06-16T04:57:29.8181163Z             },
2026-06-16T04:57:29.8181267Z             {
2026-06-16T04:57:29.8181396Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T04:57:29.8181506Z               "line": 118
2026-06-16T04:57:29.8181610Z             },
2026-06-16T04:57:29.8181716Z             {
2026-06-16T04:57:29.8181853Z               "path": "crates/spt-store/src/xfer.rs",
2026-06-16T04:57:29.8181958Z               "line": 148
2026-06-16T04:57:29.8182059Z             },
2026-06-16T04:57:29.8182159Z             {
2026-06-16T04:57:29.8182306Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8182417Z               "line": 924
2026-06-16T04:57:29.8182520Z             }
2026-06-16T04:57:29.8182611Z           ]
2026-06-16T04:57:29.8182713Z         }
2026-06-16T04:57:29.8182830Z       }
2026-06-16T04:57:29.8182931Z     },
2026-06-16T04:57:29.8183037Z     {
2026-06-16T04:57:29.8183254Z       "id": "REQ-REACH-2",
2026-06-16T04:57:29.8183614Z       "title": "Remote command execution (deferred, consent-gated)",
2026-06-16T04:57:29.8183734Z       "requiredStages": [],
2026-06-16T04:57:29.8183843Z       "stages": {
2026-06-16T04:57:29.8183948Z         "doc": {
2026-06-16T04:57:29.8184063Z           "complete": false,
2026-06-16T04:57:29.8184172Z           "evidence": []
2026-06-16T04:57:29.8184273Z         },
2026-06-16T04:57:29.8184377Z         "impl": {
2026-06-16T04:57:29.8184491Z           "complete": false,
2026-06-16T04:57:29.8184602Z           "evidence": []
2026-06-16T04:57:29.8184706Z         },
2026-06-16T04:57:29.8184806Z         "int": {
2026-06-16T04:57:29.8184917Z           "complete": false,
2026-06-16T04:57:29.8185021Z           "evidence": []
2026-06-16T04:57:29.8185125Z         },
2026-06-16T04:57:29.8185227Z         "unit": {
2026-06-16T04:57:29.8185350Z           "complete": false,
2026-06-16T04:57:29.8185460Z           "evidence": []
2026-06-16T04:57:29.8185561Z         }
2026-06-16T04:57:29.8185665Z       }
2026-06-16T04:57:29.8185774Z     },
2026-06-16T04:57:29.8185878Z     {
2026-06-16T04:57:29.8185991Z       "id": "REQ-REL-1",
2026-06-16T04:57:29.8186410Z       "title": "spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)",
2026-06-16T04:57:29.8186529Z       "requiredStages": [
2026-06-16T04:57:29.8186634Z         "doc",
2026-06-16T04:57:29.8186739Z         "impl"
2026-06-16T04:57:29.8186844Z       ],
2026-06-16T04:57:29.8186954Z       "stages": {
2026-06-16T04:57:29.8187053Z         "doc": {
2026-06-16T04:57:29.8187169Z           "complete": true,
2026-06-16T04:57:29.8187278Z           "evidence": [
2026-06-16T04:57:29.8187377Z             {
2026-06-16T04:57:29.8187626Z               "path": "docs/adr/0014-publish-target-repo-and-lapse-proof-canonical-url.md",
2026-06-16T04:57:29.8187731Z               "line": 3
2026-06-16T04:57:29.8187837Z             }
2026-06-16T04:57:29.8187936Z           ]
2026-06-16T04:57:29.8188046Z         },
2026-06-16T04:57:29.8188161Z         "impl": {
2026-06-16T04:57:29.8188274Z           "complete": true,
2026-06-16T04:57:29.8188389Z           "evidence": [
2026-06-16T04:57:29.8188486Z             {
2026-06-16T04:57:29.8188641Z               "path": ".github/workflows/docs-publish.yml",
2026-06-16T04:57:29.8188740Z               "line": 11
2026-06-16T04:57:29.8188851Z             },
2026-06-16T04:57:29.8189041Z             {
2026-06-16T04:57:29.8189171Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8189279Z               "line": 265
2026-06-16T04:57:29.8189380Z             }
2026-06-16T04:57:29.8189485Z           ]
2026-06-16T04:57:29.8189589Z         },
2026-06-16T04:57:29.8189695Z         "int": {
2026-06-16T04:57:29.8189804Z           "complete": false,
2026-06-16T04:57:29.8189909Z           "evidence": []
2026-06-16T04:57:29.8190014Z         },
2026-06-16T04:57:29.8190110Z         "unit": {
2026-06-16T04:57:29.8190219Z           "complete": false,
2026-06-16T04:57:29.8190329Z           "evidence": []
2026-06-16T04:57:29.8190439Z         }
2026-06-16T04:57:29.8190542Z       }
2026-06-16T04:57:29.8190643Z     },
2026-06-16T04:57:29.8190749Z     {
2026-06-16T04:57:29.8190857Z       "id": "REQ-REL-2",
2026-06-16T04:57:29.8191374Z       "title": "Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline",
2026-06-16T04:57:29.8191489Z       "requiredStages": [
2026-06-16T04:57:29.8191593Z         "impl",
2026-06-16T04:57:29.8191694Z         "int"
2026-06-16T04:57:29.8191799Z       ],
2026-06-16T04:57:29.8191908Z       "stages": {
2026-06-16T04:57:29.8192004Z         "doc": {
2026-06-16T04:57:29.8192118Z           "complete": true,
2026-06-16T04:57:29.8192222Z           "evidence": [
2026-06-16T04:57:29.8192324Z             {
2026-06-16T04:57:29.8192461Z               "path": "docs/RELEASE-RUNBOOK.md",
2026-06-16T04:57:29.8192662Z               "line": 6
2026-06-16T04:57:29.8192857Z             }
2026-06-16T04:57:29.8192958Z           ]
2026-06-16T04:57:29.8193057Z         },
2026-06-16T04:57:29.8193162Z         "impl": {
2026-06-16T04:57:29.8193263Z           "complete": true,
2026-06-16T04:57:29.8193377Z           "evidence": [
2026-06-16T04:57:29.8193472Z             {
2026-06-16T04:57:29.8193616Z               "path": ".github/workflows/release.yml",
2026-06-16T04:57:29.8193720Z               "line": 16
2026-06-16T04:57:29.8193819Z             },
2026-06-16T04:57:29.8193919Z             {
2026-06-16T04:57:29.8194041Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8194155Z               "line": 352
2026-06-16T04:57:29.8194251Z             },
2026-06-16T04:57:29.8194361Z             {
2026-06-16T04:57:29.8194488Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8194604Z               "line": 426
2026-06-16T04:57:29.8194708Z             },
2026-06-16T04:57:29.8194813Z             {
2026-06-16T04:57:29.8194956Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8195070Z               "line": 588
2026-06-16T04:57:29.8195176Z             },
2026-06-16T04:57:29.8195276Z             {
2026-06-16T04:57:29.8195409Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8195511Z               "line": 720
2026-06-16T04:57:29.8195614Z             }
2026-06-16T04:57:29.8195714Z           ]
2026-06-16T04:57:29.8195816Z         },
2026-06-16T04:57:29.8195924Z         "int": {
2026-06-16T04:57:29.8196039Z           "complete": true,
2026-06-16T04:57:29.8196159Z           "evidence": [
2026-06-16T04:57:29.8196262Z             {
2026-06-16T04:57:29.8196414Z               "path": "crates/spt/tests/release_verify_e2e.rs",
2026-06-16T04:57:29.8196524Z               "line": 13
2026-06-16T04:57:29.8196617Z             }
2026-06-16T04:57:29.8196721Z           ]
2026-06-16T04:57:29.8196823Z         },
2026-06-16T04:57:29.8196932Z         "unit": {
2026-06-16T04:57:29.8197051Z           "complete": false,
2026-06-16T04:57:29.8197166Z           "evidence": []
2026-06-16T04:57:29.8197265Z         }
2026-06-16T04:57:29.8197370Z       }
2026-06-16T04:57:29.8197467Z     },
2026-06-16T04:57:29.8197557Z     {
2026-06-16T04:57:29.8197666Z       "id": "REQ-REL-3",
2026-06-16T04:57:29.8198138Z       "title": "Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)",
2026-06-16T04:57:29.8198257Z       "requiredStages": [
2026-06-16T04:57:29.8198358Z         "impl",
2026-06-16T04:57:29.8198463Z         "unit"
2026-06-16T04:57:29.8198567Z       ],
2026-06-16T04:57:29.8198673Z       "stages": {
2026-06-16T04:57:29.8198782Z         "doc": {
2026-06-16T04:57:29.8198901Z           "complete": false,
2026-06-16T04:57:29.8199210Z           "evidence": []
2026-06-16T04:57:29.8199315Z         },
2026-06-16T04:57:29.8199416Z         "impl": {
2026-06-16T04:57:29.8199534Z           "complete": true,
2026-06-16T04:57:29.8199639Z           "evidence": [
2026-06-16T04:57:29.8199745Z             {
2026-06-16T04:57:29.8199891Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8199993Z               "line": 237
2026-06-16T04:57:29.8200098Z             },
2026-06-16T04:57:29.8200202Z             {
2026-06-16T04:57:29.8200345Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8200455Z               "line": 289
2026-06-16T04:57:29.8200564Z             },
2026-06-16T04:57:29.8200660Z             {
2026-06-16T04:57:29.8200784Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8200894Z               "line": 329
2026-06-16T04:57:29.8200994Z             },
2026-06-16T04:57:29.8201098Z             {
2026-06-16T04:57:29.8201228Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8201332Z               "line": 353
2026-06-16T04:57:29.8201441Z             },
2026-06-16T04:57:29.8201540Z             {
2026-06-16T04:57:29.8201669Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8201973Z               "line": 394
2026-06-16T04:57:29.8202078Z             }
2026-06-16T04:57:29.8202177Z           ]
2026-06-16T04:57:29.8202278Z         },
2026-06-16T04:57:29.8202387Z         "int": {
2026-06-16T04:57:29.8202492Z           "complete": false,
2026-06-16T04:57:29.8202612Z           "evidence": []
2026-06-16T04:57:29.8202711Z         },
2026-06-16T04:57:29.8202812Z         "unit": {
2026-06-16T04:57:29.8202922Z           "complete": true,
2026-06-16T04:57:29.8203031Z           "evidence": [
2026-06-16T04:57:29.8203136Z             {
2026-06-16T04:57:29.8203274Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8203379Z               "line": 992
2026-06-16T04:57:29.8203485Z             },
2026-06-16T04:57:29.8203589Z             {
2026-06-16T04:57:29.8203741Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8203847Z               "line": 1051
2026-06-16T04:57:29.8203951Z             }
2026-06-16T04:57:29.8204061Z           ]
2026-06-16T04:57:29.8204176Z         }
2026-06-16T04:57:29.8204275Z       }
2026-06-16T04:57:29.8204379Z     },
2026-06-16T04:57:29.8204479Z     {
2026-06-16T04:57:29.8204601Z       "id": "REQ-RUN-PICKER",
2026-06-16T04:57:29.8209495Z       "title": "Interactive `spt endpoint run` picker (ratatui TUI): bare `spt endpoint run` (no --adapter/--id) enters an in-process picker (flags-present = the REQ-HOST-RUN-1 non-interactive path, untouched). Layer 1 picks kind (Create new | Pick existing). Create-new: choose a registered kind=\"harness\" adapter with its shipped+local profiles tree-nested (registry::registered / manifest.profiles / local_profile_names) → enter a charset-validated id → start. Pick-existing: category select (left/right) over [<cwd-project> | Local node | Subnet], endpoints grouped + alphabetically sorted per category, a status square per endpoint (online green ■ / offline gray ▢ — the blue \"attached\" tri-state + Kick are DEFERRED to a broker attach-presence slice, M12-W2-RULING Q1), type-to-filter (`/`, nucleo-matcher), a pinned keybind legend, and a right-half two-pane description (harness adapter:profile · best-effort project history newest→oldest from the contextstore p-<project> branches, empty-if-none · `spt endpoint description`). Confirm layer offers status-dependent options — Attach/Start/View (rc pump / cmd_endpoint_run) · Instantiate-locally (remote) · Change-harness-adapter (offline) · Fork (cmd_fork) · Resume-from-history (offline+LOCAL only; enumerate spt_store::sessions::last_k, titles `<project> @ <ts> (…id5)`, feed session_id → cmd_endpoint_run --resume). A single action enum is the source of truth so a future tap-mode (phone PTY) layers on without re-coupling to keybinds. EVERY terminal action routes through cmd_endpoint_run / existing CLI fns — no second bringup path.",
2026-06-16T04:57:29.8209671Z       "requiredStages": [
2026-06-16T04:57:29.8209775Z         "doc",
2026-06-16T04:57:29.8209880Z         "impl",
2026-06-16T04:57:29.8209986Z         "unit"
2026-06-16T04:57:29.8210094Z       ],
2026-06-16T04:57:29.8210199Z       "stages": {
2026-06-16T04:57:29.8210309Z         "doc": {
2026-06-16T04:57:29.8210418Z           "complete": true,
2026-06-16T04:57:29.8210519Z           "evidence": [
2026-06-16T04:57:29.8210624Z             {
2026-06-16T04:57:29.8210747Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8210858Z               "line": 327
2026-06-16T04:57:29.8210963Z             }
2026-06-16T04:57:29.8211062Z           ]
2026-06-16T04:57:29.8211163Z         },
2026-06-16T04:57:29.8211263Z         "impl": {
2026-06-16T04:57:29.8211372Z           "complete": true,
2026-06-16T04:57:29.8211488Z           "evidence": [
2026-06-16T04:57:29.8211587Z             {
2026-06-16T04:57:29.8211706Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8211822Z               "line": 898
2026-06-16T04:57:29.8211912Z             },
2026-06-16T04:57:29.8212010Z             {
2026-06-16T04:57:29.8212129Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8212442Z               "line": 908
2026-06-16T04:57:29.8212548Z             },
2026-06-16T04:57:29.8212652Z             {
2026-06-16T04:57:29.8212805Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T04:57:29.8212914Z               "line": 9
2026-06-16T04:57:29.8213018Z             },
2026-06-16T04:57:29.8213120Z             {
2026-06-16T04:57:29.8213266Z               "path": "crates/spt/src/picker/data.rs",
2026-06-16T04:57:29.8213377Z               "line": 67
2026-06-16T04:57:29.8213472Z             },
2026-06-16T04:57:29.8213572Z             {
2026-06-16T04:57:29.8213701Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-16T04:57:29.8213806Z               "line": 16
2026-06-16T04:57:29.8213910Z             },
2026-06-16T04:57:29.8214016Z             {
2026-06-16T04:57:29.8214149Z               "path": "crates/spt/src/picker/mod.rs",
2026-06-16T04:57:29.8214259Z               "line": 249
2026-06-16T04:57:29.8214360Z             },
2026-06-16T04:57:29.8214469Z             {
2026-06-16T04:57:29.8214616Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8214732Z               "line": 11
2026-06-16T04:57:29.8214826Z             },
2026-06-16T04:57:29.8214929Z             {
2026-06-16T04:57:29.8215068Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8215166Z               "line": 85
2026-06-16T04:57:29.8215270Z             },
2026-06-16T04:57:29.8215376Z             {
2026-06-16T04:57:29.8215519Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8215623Z               "line": 452
2026-06-16T04:57:29.8215730Z             },
2026-06-16T04:57:29.8215829Z             {
2026-06-16T04:57:29.8215973Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8216082Z               "line": 533
2026-06-16T04:57:29.8216195Z             },
2026-06-16T04:57:29.8216302Z             {
2026-06-16T04:57:29.8216429Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8216539Z               "line": 586
2026-06-16T04:57:29.8216650Z             },
2026-06-16T04:57:29.8216753Z             {
2026-06-16T04:57:29.8216892Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8216998Z               "line": 8
2026-06-16T04:57:29.8217106Z             }
2026-06-16T04:57:29.8217212Z           ]
2026-06-16T04:57:29.8217313Z         },
2026-06-16T04:57:29.8217420Z         "int": {
2026-06-16T04:57:29.8217539Z           "complete": false,
2026-06-16T04:57:29.8217635Z           "evidence": []
2026-06-16T04:57:29.8217738Z         },
2026-06-16T04:57:29.8217847Z         "unit": {
2026-06-16T04:57:29.8217953Z           "complete": true,
2026-06-16T04:57:29.8218071Z           "evidence": [
2026-06-16T04:57:29.8218171Z             {
2026-06-16T04:57:29.8218305Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8218423Z               "line": 6406
2026-06-16T04:57:29.8218525Z             },
2026-06-16T04:57:29.8218639Z             {
2026-06-16T04:57:29.8218767Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8218887Z               "line": 6417
2026-06-16T04:57:29.8219067Z             },
2026-06-16T04:57:29.8219164Z             {
2026-06-16T04:57:29.8219301Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8219440Z               "line": 737
2026-06-16T04:57:29.8219541Z             },
2026-06-16T04:57:29.8219634Z             {
2026-06-16T04:57:29.8219774Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8219880Z               "line": 744
2026-06-16T04:57:29.8219983Z             },
2026-06-16T04:57:29.8220084Z             {
2026-06-16T04:57:29.8220227Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8220340Z               "line": 761
2026-06-16T04:57:29.8220440Z             },
2026-06-16T04:57:29.8220536Z             {
2026-06-16T04:57:29.8220669Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8220783Z               "line": 781
2026-06-16T04:57:29.8221075Z             },
2026-06-16T04:57:29.8221179Z             {
2026-06-16T04:57:29.8221331Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8221438Z               "line": 795
2026-06-16T04:57:29.8221537Z             },
2026-06-16T04:57:29.8221641Z             {
2026-06-16T04:57:29.8221772Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8221870Z               "line": 804
2026-06-16T04:57:29.8221971Z             },
2026-06-16T04:57:29.8222072Z             {
2026-06-16T04:57:29.8222209Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8222319Z               "line": 815
2026-06-16T04:57:29.8222425Z             },
2026-06-16T04:57:29.8222523Z             {
2026-06-16T04:57:29.8222666Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8222770Z               "line": 837
2026-06-16T04:57:29.8222878Z             },
2026-06-16T04:57:29.8222983Z             {
2026-06-16T04:57:29.8223132Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8223240Z               "line": 856
2026-06-16T04:57:29.8223341Z             },
2026-06-16T04:57:29.8223441Z             {
2026-06-16T04:57:29.8223578Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8223694Z               "line": 893
2026-06-16T04:57:29.8223789Z             },
2026-06-16T04:57:29.8223893Z             {
2026-06-16T04:57:29.8224028Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8224141Z               "line": 922
2026-06-16T04:57:29.8224246Z             },
2026-06-16T04:57:29.8224347Z             {
2026-06-16T04:57:29.8224490Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8224595Z               "line": 935
2026-06-16T04:57:29.8224704Z             },
2026-06-16T04:57:29.8224809Z             {
2026-06-16T04:57:29.8224949Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8225061Z               "line": 979
2026-06-16T04:57:29.8225167Z             },
2026-06-16T04:57:29.8225283Z             {
2026-06-16T04:57:29.8225424Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8225528Z               "line": 1006
2026-06-16T04:57:29.8225633Z             },
2026-06-16T04:57:29.8225736Z             {
2026-06-16T04:57:29.8225879Z               "path": "crates/spt/src/picker/model.rs",
2026-06-16T04:57:29.8225994Z               "line": 1022
2026-06-16T04:57:29.8226103Z             },
2026-06-16T04:57:29.8226203Z             {
2026-06-16T04:57:29.8226347Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8226455Z               "line": 419
2026-06-16T04:57:29.8226566Z             },
2026-06-16T04:57:29.8226680Z             {
2026-06-16T04:57:29.8226814Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8226928Z               "line": 431
2026-06-16T04:57:29.8227033Z             },
2026-06-16T04:57:29.8227133Z             {
2026-06-16T04:57:29.8227271Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8227390Z               "line": 449
2026-06-16T04:57:29.8227501Z             },
2026-06-16T04:57:29.8227596Z             {
2026-06-16T04:57:29.8227728Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8227835Z               "line": 471
2026-06-16T04:57:29.8227939Z             },
2026-06-16T04:57:29.8228042Z             {
2026-06-16T04:57:29.8228185Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8228298Z               "line": 481
2026-06-16T04:57:29.8228402Z             },
2026-06-16T04:57:29.8228503Z             {
2026-06-16T04:57:29.8228641Z               "path": "crates/spt/src/picker/view.rs",
2026-06-16T04:57:29.8228745Z               "line": 504
2026-06-16T04:57:29.8228847Z             }
2026-06-16T04:57:29.8228937Z           ]
2026-06-16T04:57:29.8229428Z         }
2026-06-16T04:57:29.8229532Z       }
2026-06-16T04:57:29.8229637Z     },
2026-06-16T04:57:29.8229852Z     {
2026-06-16T04:57:29.8229971Z       "id": "REQ-RUN-SHORTCUT",
2026-06-16T04:57:29.8234816Z       "title": "`<basename>-<id>` launcher shortcut generation (picker `s` keybind, M12-W2-T2.4): from any pre-start options set the picker writes/updates a `<basename>-<id>` launcher at the project root baking the current selection's non-interactive `spt endpoint run` flags (terminal actions only: adapter[:profile] + id + (create|resume) + (start|attach|view); Kick/Instantiate/Change-adapter/Fork are interactive-only, not bakeable). BASENAME IS A PARAMETER (operator rev. 2026-06-14): harness-agnostic spt-core defaults to `spt` (→ `spt-<id>`); an adapter/flow OVERRIDES it (spt-claude-code → `cc`), so spt-core NEVER bakes `cc` (a harness name) into itself. The basename must be a DISTINCT token, never bare `spt` (a `spt.cmd` would shadow the real `spt.exe` only under cmd.exe cwd-first search, silently no-op in PowerShell/Unix, and self-recurse). The script is the CURRENT OS's native form — `.cmd` on Windows (NOT `.ps1`: default PATHEXT excludes `.ps1` so a bare/ext-less name never resolves one; `.cmd` is PATHEXT-resolvable), POSIX `sh` (+chmod +x) on Unix (a single portable form can't be both). The generated header documents the invocation reality (cmd.exe bare `<name>` in the project dir / PowerShell `.\\<name>` / Unix `./<name>`; a truly-bare basename on PATH = a PATH-installed launcher, `/spt:setup`'s job). Overwrite is SENTINEL-guarded: the generator writes + checks a generated-by header marker — it overwrites its own prior output freely, but REFUSES + warns if a same-named file lacks the sentinel (never clobber a user file). Requires the additive `--create` flag on `Run{}` (the default-fresh made explicit; N-1-safe).",
2026-06-16T04:57:29.8234988Z       "requiredStages": [
2026-06-16T04:57:29.8235093Z         "doc",
2026-06-16T04:57:29.8235199Z         "impl",
2026-06-16T04:57:29.8235298Z         "unit"
2026-06-16T04:57:29.8235398Z       ],
2026-06-16T04:57:29.8235509Z       "stages": {
2026-06-16T04:57:29.8235612Z         "doc": {
2026-06-16T04:57:29.8235732Z           "complete": true,
2026-06-16T04:57:29.8235833Z           "evidence": [
2026-06-16T04:57:29.8235946Z             {
2026-06-16T04:57:29.8236064Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8236165Z               "line": 350
2026-06-16T04:57:29.8236258Z             }
2026-06-16T04:57:29.8236357Z           ]
2026-06-16T04:57:29.8236458Z         },
2026-06-16T04:57:29.8236559Z         "impl": {
2026-06-16T04:57:29.8236668Z           "complete": true,
2026-06-16T04:57:29.8236778Z           "evidence": [
2026-06-16T04:57:29.8236878Z             {
2026-06-16T04:57:29.8237034Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8237136Z               "line": 39
2026-06-16T04:57:29.8237240Z             },
2026-06-16T04:57:29.8237344Z             {
2026-06-16T04:57:29.8237493Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8237607Z               "line": 79
2026-06-16T04:57:29.8237703Z             },
2026-06-16T04:57:29.8237817Z             {
2026-06-16T04:57:29.8237965Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8238080Z               "line": 162
2026-06-16T04:57:29.8238179Z             }
2026-06-16T04:57:29.8238280Z           ]
2026-06-16T04:57:29.8238386Z         },
2026-06-16T04:57:29.8238489Z         "int": {
2026-06-16T04:57:29.8238612Z           "complete": false,
2026-06-16T04:57:29.8238713Z           "evidence": []
2026-06-16T04:57:29.8238816Z         },
2026-06-16T04:57:29.8238919Z         "unit": {
2026-06-16T04:57:29.8239121Z           "complete": true,
2026-06-16T04:57:29.8239229Z           "evidence": [
2026-06-16T04:57:29.8239335Z             {
2026-06-16T04:57:29.8239478Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8239587Z               "line": 206
2026-06-16T04:57:29.8239688Z             },
2026-06-16T04:57:29.8239788Z             {
2026-06-16T04:57:29.8239940Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8240169Z               "line": 222
2026-06-16T04:57:29.8240360Z             },
2026-06-16T04:57:29.8240455Z             {
2026-06-16T04:57:29.8240589Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8240703Z               "line": 238
2026-06-16T04:57:29.8240799Z             },
2026-06-16T04:57:29.8240909Z             {
2026-06-16T04:57:29.8241046Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8241161Z               "line": 251
2026-06-16T04:57:29.8241272Z             },
2026-06-16T04:57:29.8241366Z             {
2026-06-16T04:57:29.8241508Z               "path": "crates/spt/src/picker/shortcut.rs",
2026-06-16T04:57:29.8241613Z               "line": 258
2026-06-16T04:57:29.8241709Z             }
2026-06-16T04:57:29.8241817Z           ]
2026-06-16T04:57:29.8244670Z         }
2026-06-16T04:57:29.8244820Z       }
2026-06-16T04:57:29.8244924Z     },
2026-06-16T04:57:29.8245028Z     {
2026-06-16T04:57:29.8245162Z       "id": "REQ-SEAM-ACTIVITY",
2026-06-16T04:57:29.8245420Z       "title": "Activity/idle reported via api sentinels, not PTY quiescence",
2026-06-16T04:57:29.8245543Z       "requiredStages": [
2026-06-16T04:57:29.8245643Z         "impl",
2026-06-16T04:57:29.8245740Z         "unit"
2026-06-16T04:57:29.8245843Z       ],
2026-06-16T04:57:29.8245953Z       "stages": {
2026-06-16T04:57:29.8246050Z         "doc": {
2026-06-16T04:57:29.8246168Z           "complete": false,
2026-06-16T04:57:29.8246287Z           "evidence": []
2026-06-16T04:57:29.8246384Z         },
2026-06-16T04:57:29.8246496Z         "impl": {
2026-06-16T04:57:29.8246610Z           "complete": true,
2026-06-16T04:57:29.8246720Z           "evidence": [
2026-06-16T04:57:29.8246823Z             {
2026-06-16T04:57:29.8246975Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8247085Z               "line": 18
2026-06-16T04:57:29.8247185Z             },
2026-06-16T04:57:29.8247285Z             {
2026-06-16T04:57:29.8247419Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8247542Z               "line": 35
2026-06-16T04:57:29.8247648Z             },
2026-06-16T04:57:29.8247748Z             {
2026-06-16T04:57:29.8247890Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8247992Z               "line": 72
2026-06-16T04:57:29.8248096Z             }
2026-06-16T04:57:29.8248201Z           ]
2026-06-16T04:57:29.8248302Z         },
2026-06-16T04:57:29.8248405Z         "int": {
2026-06-16T04:57:29.8248525Z           "complete": false,
2026-06-16T04:57:29.8248645Z           "evidence": []
2026-06-16T04:57:29.8248748Z         },
2026-06-16T04:57:29.8248854Z         "unit": {
2026-06-16T04:57:29.8249040Z           "complete": true,
2026-06-16T04:57:29.8249143Z           "evidence": [
2026-06-16T04:57:29.8249248Z             {
2026-06-16T04:57:29.8249394Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8249503Z               "line": 239
2026-06-16T04:57:29.8249600Z             },
2026-06-16T04:57:29.8249705Z             {
2026-06-16T04:57:29.8249852Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8249967Z               "line": 256
2026-06-16T04:57:29.8250066Z             },
2026-06-16T04:57:29.8250161Z             {
2026-06-16T04:57:29.8250315Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8250419Z               "line": 265
2026-06-16T04:57:29.8250525Z             }
2026-06-16T04:57:29.8250625Z           ]
2026-06-16T04:57:29.8250724Z         }
2026-06-16T04:57:29.8250825Z       }
2026-06-16T04:57:29.8250930Z     },
2026-06-16T04:57:29.8251035Z     {
2026-06-16T04:57:29.8251159Z       "id": "REQ-SEAM-CAPABILITY",
2026-06-16T04:57:29.8251344Z       "title": "Hostable endpoint-types capability declaration",
2026-06-16T04:57:29.8251455Z       "requiredStages": [
2026-06-16T04:57:29.8251564Z         "impl",
2026-06-16T04:57:29.8251668Z         "unit"
2026-06-16T04:57:29.8251770Z       ],
2026-06-16T04:57:29.8251870Z       "stages": {
2026-06-16T04:57:29.8252106Z         "doc": {
2026-06-16T04:57:29.8252316Z           "complete": false,
2026-06-16T04:57:29.8252425Z           "evidence": []
2026-06-16T04:57:29.8252532Z         },
2026-06-16T04:57:29.8252635Z         "impl": {
2026-06-16T04:57:29.8252745Z           "complete": true,
2026-06-16T04:57:29.8252855Z           "evidence": [
2026-06-16T04:57:29.8252960Z             {
2026-06-16T04:57:29.8253104Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8253203Z               "line": 594
2026-06-16T04:57:29.8253312Z             }
2026-06-16T04:57:29.8253414Z           ]
2026-06-16T04:57:29.8253513Z         },
2026-06-16T04:57:29.8253622Z         "int": {
2026-06-16T04:57:29.8253729Z           "complete": false,
2026-06-16T04:57:29.8253842Z           "evidence": []
2026-06-16T04:57:29.8253937Z         },
2026-06-16T04:57:29.8254048Z         "unit": {
2026-06-16T04:57:29.8254157Z           "complete": true,
2026-06-16T04:57:29.8254265Z           "evidence": [
2026-06-16T04:57:29.8254370Z             {
2026-06-16T04:57:29.8254516Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8254620Z               "line": 963
2026-06-16T04:57:29.8254721Z             }
2026-06-16T04:57:29.8254822Z           ]
2026-06-16T04:57:29.8254920Z         }
2026-06-16T04:57:29.8255017Z       }
2026-06-16T04:57:29.8255121Z     },
2026-06-16T04:57:29.8255225Z     {
2026-06-16T04:57:29.8255341Z       "id": "REQ-SEAM-HISTORY",
2026-06-16T04:57:29.8255550Z       "title": "History subsystem (fetcher / locate-normalize / native store)",
2026-06-16T04:57:29.8255665Z       "requiredStages": [
2026-06-16T04:57:29.8255760Z         "impl",
2026-06-16T04:57:29.8255869Z         "unit",
2026-06-16T04:57:29.8255971Z         "int"
2026-06-16T04:57:29.8256075Z       ],
2026-06-16T04:57:29.8256174Z       "stages": {
2026-06-16T04:57:29.8256281Z         "doc": {
2026-06-16T04:57:29.8256394Z           "complete": false,
2026-06-16T04:57:29.8256508Z           "evidence": []
2026-06-16T04:57:29.8256610Z         },
2026-06-16T04:57:29.8256714Z         "impl": {
2026-06-16T04:57:29.8256818Z           "complete": true,
2026-06-16T04:57:29.8256929Z           "evidence": [
2026-06-16T04:57:29.8257029Z             {
2026-06-16T04:57:29.8257170Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.8257270Z               "line": 24
2026-06-16T04:57:29.8257379Z             },
2026-06-16T04:57:29.8257478Z             {
2026-06-16T04:57:29.8257612Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8257721Z               "line": 22
2026-06-16T04:57:29.8257821Z             }
2026-06-16T04:57:29.8257927Z           ]
2026-06-16T04:57:29.8258027Z         },
2026-06-16T04:57:29.8258126Z         "int": {
2026-06-16T04:57:29.8258242Z           "complete": true,
2026-06-16T04:57:29.8258332Z           "evidence": [
2026-06-16T04:57:29.8258436Z             {
2026-06-16T04:57:29.8258576Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.8258703Z               "line": 260
2026-06-16T04:57:29.8258808Z             }
2026-06-16T04:57:29.8258910Z           ]
2026-06-16T04:57:29.8259085Z         },
2026-06-16T04:57:29.8259191Z         "unit": {
2026-06-16T04:57:29.8259304Z           "complete": true,
2026-06-16T04:57:29.8259400Z           "evidence": [
2026-06-16T04:57:29.8259501Z             {
2026-06-16T04:57:29.8259637Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.8259751Z               "line": 171
2026-06-16T04:57:29.8259852Z             },
2026-06-16T04:57:29.8259954Z             {
2026-06-16T04:57:29.8260092Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.8260193Z               "line": 200
2026-06-16T04:57:29.8260297Z             },
2026-06-16T04:57:29.8260397Z             {
2026-06-16T04:57:29.8260532Z               "path": "crates/spt-live/src/echo.rs",
2026-06-16T04:57:29.8260636Z               "line": 220
2026-06-16T04:57:29.8260726Z             },
2026-06-16T04:57:29.8260937Z             {
2026-06-16T04:57:29.8261075Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8261270Z               "line": 199
2026-06-16T04:57:29.8261375Z             },
2026-06-16T04:57:29.8261476Z             {
2026-06-16T04:57:29.8261618Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8261724Z               "line": 219
2026-06-16T04:57:29.8261828Z             },
2026-06-16T04:57:29.8261928Z             {
2026-06-16T04:57:29.8262068Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8262176Z               "line": 244
2026-06-16T04:57:29.8262277Z             },
2026-06-16T04:57:29.8262378Z             {
2026-06-16T04:57:29.8262500Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8262613Z               "line": 276
2026-06-16T04:57:29.8262715Z             },
2026-06-16T04:57:29.8262815Z             {
2026-06-16T04:57:29.8262957Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8263068Z               "line": 297
2026-06-16T04:57:29.8263172Z             },
2026-06-16T04:57:29.8263271Z             {
2026-06-16T04:57:29.8263415Z               "path": "crates/spt-live/src/history.rs",
2026-06-16T04:57:29.8263515Z               "line": 324
2026-06-16T04:57:29.8263615Z             }
2026-06-16T04:57:29.8263716Z           ]
2026-06-16T04:57:29.8263821Z         }
2026-06-16T04:57:29.8263915Z       }
2026-06-16T04:57:29.8264017Z     },
2026-06-16T04:57:29.8264154Z     {
2026-06-16T04:57:29.8264269Z       "id": "REQ-SEAM-INJECT",
2026-06-16T04:57:29.8264458Z       "title": "inject-input methods configurable per activity-state",
2026-06-16T04:57:29.8264574Z       "requiredStages": [
2026-06-16T04:57:29.8264675Z         "impl",
2026-06-16T04:57:29.8264778Z         "unit"
2026-06-16T04:57:29.8264878Z       ],
2026-06-16T04:57:29.8264987Z       "stages": {
2026-06-16T04:57:29.8265086Z         "doc": {
2026-06-16T04:57:29.8265204Z           "complete": false,
2026-06-16T04:57:29.8265310Z           "evidence": []
2026-06-16T04:57:29.8265424Z         },
2026-06-16T04:57:29.8265519Z         "impl": {
2026-06-16T04:57:29.8265630Z           "complete": true,
2026-06-16T04:57:29.8265734Z           "evidence": [
2026-06-16T04:57:29.8265833Z             {
2026-06-16T04:57:29.8265978Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8266091Z               "line": 19
2026-06-16T04:57:29.8266192Z             },
2026-06-16T04:57:29.8266292Z             {
2026-06-16T04:57:29.8266429Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8266540Z               "line": 111
2026-06-16T04:57:29.8266640Z             }
2026-06-16T04:57:29.8266740Z           ]
2026-06-16T04:57:29.8266836Z         },
2026-06-16T04:57:29.8266941Z         "int": {
2026-06-16T04:57:29.8267050Z           "complete": false,
2026-06-16T04:57:29.8267161Z           "evidence": []
2026-06-16T04:57:29.8267265Z         },
2026-06-16T04:57:29.8267365Z         "unit": {
2026-06-16T04:57:29.8267495Z           "complete": true,
2026-06-16T04:57:29.8267613Z           "evidence": [
2026-06-16T04:57:29.8267712Z             {
2026-06-16T04:57:29.8267840Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8267948Z               "line": 345
2026-06-16T04:57:29.8268043Z             },
2026-06-16T04:57:29.8268143Z             {
2026-06-16T04:57:29.8268287Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8268386Z               "line": 365
2026-06-16T04:57:29.8268487Z             }
2026-06-16T04:57:29.8268592Z           ]
2026-06-16T04:57:29.8268696Z         }
2026-06-16T04:57:29.8268797Z       }
2026-06-16T04:57:29.8268902Z     },
2026-06-16T04:57:29.8269073Z     {
2026-06-16T04:57:29.8269187Z       "id": "REQ-SEAM-POSTSPAWN",
2026-06-16T04:57:29.8269354Z       "title": "post-spawn / api bind seam with boot nonce",
2026-06-16T04:57:29.8269470Z       "requiredStages": [
2026-06-16T04:57:29.8269573Z         "impl",
2026-06-16T04:57:29.8269678Z         "unit"
2026-06-16T04:57:29.8269902Z       ],
2026-06-16T04:57:29.8270104Z       "stages": {
2026-06-16T04:57:29.8270207Z         "doc": {
2026-06-16T04:57:29.8270311Z           "complete": false,
2026-06-16T04:57:29.8270421Z           "evidence": []
2026-06-16T04:57:29.8270519Z         },
2026-06-16T04:57:29.8270628Z         "impl": {
2026-06-16T04:57:29.8270734Z           "complete": true,
2026-06-16T04:57:29.8270853Z           "evidence": [
2026-06-16T04:57:29.8270952Z             {
2026-06-16T04:57:29.8271097Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8271205Z               "line": 18
2026-06-16T04:57:29.8271306Z             },
2026-06-16T04:57:29.8271411Z             {
2026-06-16T04:57:29.8271539Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8271650Z               "line": 330
2026-06-16T04:57:29.8271754Z             }
2026-06-16T04:57:29.8271854Z           ]
2026-06-16T04:57:29.8271955Z         },
2026-06-16T04:57:29.8272055Z         "int": {
2026-06-16T04:57:29.8272178Z           "complete": false,
2026-06-16T04:57:29.8272289Z           "evidence": []
2026-06-16T04:57:29.8272388Z         },
2026-06-16T04:57:29.8272493Z         "unit": {
2026-06-16T04:57:29.8272604Z           "complete": true,
2026-06-16T04:57:29.8272717Z           "evidence": [
2026-06-16T04:57:29.8272808Z             {
2026-06-16T04:57:29.8272943Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8273041Z               "line": 604
2026-06-16T04:57:29.8273150Z             },
2026-06-16T04:57:29.8273250Z             {
2026-06-16T04:57:29.8273384Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8273493Z               "line": 614
2026-06-16T04:57:29.8273594Z             }
2026-06-16T04:57:29.8273694Z           ]
2026-06-16T04:57:29.8273794Z         }
2026-06-16T04:57:29.8273900Z       }
2026-06-16T04:57:29.8273995Z     },
2026-06-16T04:57:29.8274089Z     {
2026-06-16T04:57:29.8274204Z       "id": "REQ-SEAM-PSYCHE",
2026-06-16T04:57:29.8274376Z       "title": "spawn-psyche seam (fresh + resume templates)",
2026-06-16T04:57:29.8274495Z       "requiredStages": [
2026-06-16T04:57:29.8274600Z         "impl",
2026-06-16T04:57:29.8274700Z         "unit",
2026-06-16T04:57:29.8274805Z         "int"
2026-06-16T04:57:29.8274901Z       ],
2026-06-16T04:57:29.8275005Z       "stages": {
2026-06-16T04:57:29.8275105Z         "doc": {
2026-06-16T04:57:29.8275211Z           "complete": false,
2026-06-16T04:57:29.8275315Z           "evidence": []
2026-06-16T04:57:29.8275419Z         },
2026-06-16T04:57:29.8275524Z         "impl": {
2026-06-16T04:57:29.8275636Z           "complete": true,
2026-06-16T04:57:29.8275745Z           "evidence": [
2026-06-16T04:57:29.8275846Z             {
2026-06-16T04:57:29.8275989Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T04:57:29.8276098Z               "line": 19
2026-06-16T04:57:29.8276204Z             },
2026-06-16T04:57:29.8276308Z             {
2026-06-16T04:57:29.8276447Z               "path": "crates/spt/src/api/live.rs",
2026-06-16T04:57:29.8276566Z               "line": 12
2026-06-16T04:57:29.8276670Z             },
2026-06-16T04:57:29.8276772Z             {
2026-06-16T04:57:29.8276909Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8277023Z               "line": 233
2026-06-16T04:57:29.8277124Z             }
2026-06-16T04:57:29.8277224Z           ]
2026-06-16T04:57:29.8277328Z         },
2026-06-16T04:57:29.8277430Z         "int": {
2026-06-16T04:57:29.8277543Z           "complete": true,
2026-06-16T04:57:29.8277647Z           "evidence": [
2026-06-16T04:57:29.8277754Z             {
2026-06-16T04:57:29.8277900Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.8278011Z               "line": 259
2026-06-16T04:57:29.8278102Z             }
2026-06-16T04:57:29.8278201Z           ]
2026-06-16T04:57:29.8278300Z         },
2026-06-16T04:57:29.8278400Z         "unit": {
2026-06-16T04:57:29.8278518Z           "complete": true,
2026-06-16T04:57:29.8278631Z           "evidence": [
2026-06-16T04:57:29.8278866Z             {
2026-06-16T04:57:29.8279099Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T04:57:29.8279208Z               "line": 161
2026-06-16T04:57:29.8279314Z             },
2026-06-16T04:57:29.8279414Z             {
2026-06-16T04:57:29.8279556Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T04:57:29.8279667Z               "line": 168
2026-06-16T04:57:29.8279766Z             },
2026-06-16T04:57:29.8279866Z             {
2026-06-16T04:57:29.8280006Z               "path": "crates/spt-live/src/psyche.rs",
2026-06-16T04:57:29.8280119Z               "line": 191
2026-06-16T04:57:29.8280215Z             },
2026-06-16T04:57:29.8280321Z             {
2026-06-16T04:57:29.8280462Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T04:57:29.8280563Z               "line": 106
2026-06-16T04:57:29.8280669Z             },
2026-06-16T04:57:29.8280767Z             {
2026-06-16T04:57:29.8280900Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T04:57:29.8281010Z               "line": 137
2026-06-16T04:57:29.8281112Z             },
2026-06-16T04:57:29.8281217Z             {
2026-06-16T04:57:29.8281352Z               "path": "crates/spt-live/src/pulse.rs",
2026-06-16T04:57:29.8281460Z               "line": 161
2026-06-16T04:57:29.8281556Z             }
2026-06-16T04:57:29.8281657Z           ]
2026-06-16T04:57:29.8281756Z         }
2026-06-16T04:57:29.8281871Z       }
2026-06-16T04:57:29.8281971Z     },
2026-06-16T04:57:29.8282075Z     {
2026-06-16T04:57:29.8282200Z       "id": "REQ-SEAM-RESUME",
2026-06-16T04:57:29.8282414Z       "title": "resume-session seam (fresh-with-preload / continue-existing)",
2026-06-16T04:57:29.8282534Z       "requiredStages": [
2026-06-16T04:57:29.8282638Z         "impl",
2026-06-16T04:57:29.8282743Z         "unit"
2026-06-16T04:57:29.8282844Z       ],
2026-06-16T04:57:29.8282944Z       "stages": {
2026-06-16T04:57:29.8283048Z         "doc": {
2026-06-16T04:57:29.8283164Z           "complete": false,
2026-06-16T04:57:29.8283287Z           "evidence": []
2026-06-16T04:57:29.8283392Z         },
2026-06-16T04:57:29.8283503Z         "impl": {
2026-06-16T04:57:29.8283615Z           "complete": true,
2026-06-16T04:57:29.8283720Z           "evidence": [
2026-06-16T04:57:29.8283820Z             {
2026-06-16T04:57:29.8283958Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.8284072Z               "line": 19
2026-06-16T04:57:29.8284174Z             }
2026-06-16T04:57:29.8284273Z           ]
2026-06-16T04:57:29.8284377Z         },
2026-06-16T04:57:29.8284484Z         "int": {
2026-06-16T04:57:29.8284598Z           "complete": false,
2026-06-16T04:57:29.8284702Z           "evidence": []
2026-06-16T04:57:29.8284803Z         },
2026-06-16T04:57:29.8284902Z         "unit": {
2026-06-16T04:57:29.8285017Z           "complete": true,
2026-06-16T04:57:29.8285137Z           "evidence": [
2026-06-16T04:57:29.8285236Z             {
2026-06-16T04:57:29.8285380Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.8285494Z               "line": 201
2026-06-16T04:57:29.8285593Z             },
2026-06-16T04:57:29.8285694Z             {
2026-06-16T04:57:29.8285841Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.8285945Z               "line": 223
2026-06-16T04:57:29.8286045Z             },
2026-06-16T04:57:29.8286159Z             {
2026-06-16T04:57:29.8286295Z               "path": "crates/spt-live/src/resume.rs",
2026-06-16T04:57:29.8286401Z               "line": 244
2026-06-16T04:57:29.8286502Z             }
2026-06-16T04:57:29.8286605Z           ]
2026-06-16T04:57:29.8286702Z         }
2026-06-16T04:57:29.8286802Z       }
2026-06-16T04:57:29.8286906Z     },
2026-06-16T04:57:29.8287007Z     {
2026-06-16T04:57:29.8287131Z       "id": "REQ-SEAM-SPAWN",
2026-06-16T04:57:29.8287254Z       "title": "spawn-session seam",
2026-06-16T04:57:29.8287360Z       "requiredStages": [
2026-06-16T04:57:29.8287469Z         "impl",
2026-06-16T04:57:29.8287573Z         "unit"
2026-06-16T04:57:29.8287770Z       ],
2026-06-16T04:57:29.8287961Z       "stages": {
2026-06-16T04:57:29.8288061Z         "doc": {
2026-06-16T04:57:29.8288175Z           "complete": false,
2026-06-16T04:57:29.8288291Z           "evidence": []
2026-06-16T04:57:29.8288390Z         },
2026-06-16T04:57:29.8288490Z         "impl": {
2026-06-16T04:57:29.8288605Z           "complete": true,
2026-06-16T04:57:29.8288709Z           "evidence": [
2026-06-16T04:57:29.8288808Z             {
2026-06-16T04:57:29.8289040Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8289158Z               "line": 20
2026-06-16T04:57:29.8289259Z             }
2026-06-16T04:57:29.8289359Z           ]
2026-06-16T04:57:29.8289463Z         },
2026-06-16T04:57:29.8289564Z         "int": {
2026-06-16T04:57:29.8289683Z           "complete": false,
2026-06-16T04:57:29.8289787Z           "evidence": []
2026-06-16T04:57:29.8289884Z         },
2026-06-16T04:57:29.8289984Z         "unit": {
2026-06-16T04:57:29.8290093Z           "complete": true,
2026-06-16T04:57:29.8290218Z           "evidence": [
2026-06-16T04:57:29.8290322Z             {
2026-06-16T04:57:29.8290470Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8290576Z               "line": 435
2026-06-16T04:57:29.8290674Z             },
2026-06-16T04:57:29.8290784Z             {
2026-06-16T04:57:29.8290924Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8291027Z               "line": 442
2026-06-16T04:57:29.8291124Z             },
2026-06-16T04:57:29.8291229Z             {
2026-06-16T04:57:29.8291370Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8291489Z               "line": 452
2026-06-16T04:57:29.8291589Z             },
2026-06-16T04:57:29.8291692Z             {
2026-06-16T04:57:29.8291835Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8291941Z               "line": 458
2026-06-16T04:57:29.8292044Z             },
2026-06-16T04:57:29.8292145Z             {
2026-06-16T04:57:29.8292298Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8292407Z               "line": 483
2026-06-16T04:57:29.8292503Z             },
2026-06-16T04:57:29.8292608Z             {
2026-06-16T04:57:29.8292751Z               "path": "crates/spt-runtime/src/runtime.rs",
2026-06-16T04:57:29.8292870Z               "line": 520
2026-06-16T04:57:29.8292969Z             }
2026-06-16T04:57:29.8293070Z           ]
2026-06-16T04:57:29.8293175Z         }
2026-06-16T04:57:29.8293261Z       }
2026-06-16T04:57:29.8293361Z     },
2026-06-16T04:57:29.8293462Z     {
2026-06-16T04:57:29.8293585Z       "id": "REQ-SEAM-UPDATE",
2026-06-16T04:57:29.8293767Z       "title": "Adapter-update avenue (file-pull / delegated command)",
2026-06-16T04:57:29.8293870Z       "requiredStages": [
2026-06-16T04:57:29.8293976Z         "impl",
2026-06-16T04:57:29.8294082Z         "unit"
2026-06-16T04:57:29.8294185Z       ],
2026-06-16T04:57:29.8294289Z       "stages": {
2026-06-16T04:57:29.8294395Z         "doc": {
2026-06-16T04:57:29.8294514Z           "complete": false,
2026-06-16T04:57:29.8294623Z           "evidence": []
2026-06-16T04:57:29.8294729Z         },
2026-06-16T04:57:29.8294829Z         "impl": {
2026-06-16T04:57:29.8294952Z           "complete": true,
2026-06-16T04:57:29.8295058Z           "evidence": [
2026-06-16T04:57:29.8295162Z             {
2026-06-16T04:57:29.8295320Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8295424Z               "line": 28
2026-06-16T04:57:29.8295529Z             },
2026-06-16T04:57:29.8295630Z             {
2026-06-16T04:57:29.8295787Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8295892Z               "line": 83
2026-06-16T04:57:29.8295998Z             }
2026-06-16T04:57:29.8296096Z           ]
2026-06-16T04:57:29.8296192Z         },
2026-06-16T04:57:29.8296298Z         "int": {
2026-06-16T04:57:29.8296415Z           "complete": false,
2026-06-16T04:57:29.8296620Z           "evidence": []
2026-06-16T04:57:29.8296818Z         },
2026-06-16T04:57:29.8296918Z         "unit": {
2026-06-16T04:57:29.8297034Z           "complete": true,
2026-06-16T04:57:29.8297142Z           "evidence": [
2026-06-16T04:57:29.8297247Z             {
2026-06-16T04:57:29.8297395Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8297509Z               "line": 286
2026-06-16T04:57:29.8297601Z             },
2026-06-16T04:57:29.8297696Z             {
2026-06-16T04:57:29.8297843Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8297958Z               "line": 297
2026-06-16T04:57:29.8298062Z             }
2026-06-16T04:57:29.8298158Z           ]
2026-06-16T04:57:29.8298263Z         }
2026-06-16T04:57:29.8298368Z       }
2026-06-16T04:57:29.8298467Z     },
2026-06-16T04:57:29.8298569Z     {
2026-06-16T04:57:29.8298687Z       "id": "REQ-SEC-1",
2026-06-16T04:57:29.8299199Z       "title": "Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants",
2026-06-16T04:57:29.8299321Z       "requiredStages": [
2026-06-16T04:57:29.8299430Z         "impl",
2026-06-16T04:57:29.8299526Z         "unit"
2026-06-16T04:57:29.8299633Z       ],
2026-06-16T04:57:29.8299732Z       "stages": {
2026-06-16T04:57:29.8299838Z         "doc": {
2026-06-16T04:57:29.8299957Z           "complete": false,
2026-06-16T04:57:29.8300061Z           "evidence": []
2026-06-16T04:57:29.8300167Z         },
2026-06-16T04:57:29.8300277Z         "impl": {
2026-06-16T04:57:29.8300390Z           "complete": true,
2026-06-16T04:57:29.8300496Z           "evidence": [
2026-06-16T04:57:29.8300601Z             {
2026-06-16T04:57:29.8300744Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8300849Z               "line": 86
2026-06-16T04:57:29.8300949Z             },
2026-06-16T04:57:29.8301054Z             {
2026-06-16T04:57:29.8301202Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8301325Z               "line": 116
2026-06-16T04:57:29.8301432Z             },
2026-06-16T04:57:29.8301535Z             {
2026-06-16T04:57:29.8301674Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8301784Z               "line": 130
2026-06-16T04:57:29.8301888Z             },
2026-06-16T04:57:29.8302006Z             {
2026-06-16T04:57:29.8302149Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8302252Z               "line": 109
2026-06-16T04:57:29.8302357Z             },
2026-06-16T04:57:29.8302453Z             {
2026-06-16T04:57:29.8302599Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8302710Z               "line": 130
2026-06-16T04:57:29.8302810Z             },
2026-06-16T04:57:29.8302909Z             {
2026-06-16T04:57:29.8303054Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8303158Z               "line": 143
2026-06-16T04:57:29.8303263Z             },
2026-06-16T04:57:29.8303368Z             {
2026-06-16T04:57:29.8303568Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8303674Z               "line": 209
2026-06-16T04:57:29.8303782Z             },
2026-06-16T04:57:29.8303877Z             {
2026-06-16T04:57:29.8304017Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8304120Z               "line": 235
2026-06-16T04:57:29.8304226Z             },
2026-06-16T04:57:29.8304323Z             {
2026-06-16T04:57:29.8304459Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8304560Z               "line": 4773
2026-06-16T04:57:29.8304656Z             }
2026-06-16T04:57:29.8304764Z           ]
2026-06-16T04:57:29.8304864Z         },
2026-06-16T04:57:29.8304969Z         "int": {
2026-06-16T04:57:29.8305084Z           "complete": false,
2026-06-16T04:57:29.8305188Z           "evidence": []
2026-06-16T04:57:29.8305284Z         },
2026-06-16T04:57:29.8305385Z         "unit": {
2026-06-16T04:57:29.8305599Z           "complete": true,
2026-06-16T04:57:29.8305798Z           "evidence": [
2026-06-16T04:57:29.8305904Z             {
2026-06-16T04:57:29.8306047Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8306161Z               "line": 142
2026-06-16T04:57:29.8306272Z             },
2026-06-16T04:57:29.8306366Z             {
2026-06-16T04:57:29.8306500Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8306601Z               "line": 194
2026-06-16T04:57:29.8306699Z             },
2026-06-16T04:57:29.8306800Z             {
2026-06-16T04:57:29.8306943Z               "path": "crates/spt-daemon/src/access.rs",
2026-06-16T04:57:29.8307057Z               "line": 235
2026-06-16T04:57:29.8307161Z             },
2026-06-16T04:57:29.8307265Z             {
2026-06-16T04:57:29.8307407Z               "path": "crates/spt-daemon/tests/access.rs",
2026-06-16T04:57:29.8307517Z               "line": 140
2026-06-16T04:57:29.8307617Z             },
2026-06-16T04:57:29.8307731Z             {
2026-06-16T04:57:29.8307879Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8307984Z               "line": 247
2026-06-16T04:57:29.8308088Z             },
2026-06-16T04:57:29.8308194Z             {
2026-06-16T04:57:29.8308336Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8308442Z               "line": 277
2026-06-16T04:57:29.8308542Z             },
2026-06-16T04:57:29.8308646Z             {
2026-06-16T04:57:29.8308781Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8308899Z               "line": 310
2026-06-16T04:57:29.8309091Z             },
2026-06-16T04:57:29.8309195Z             {
2026-06-16T04:57:29.8309333Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8309440Z               "line": 329
2026-06-16T04:57:29.8309538Z             },
2026-06-16T04:57:29.8309643Z             {
2026-06-16T04:57:29.8309778Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8309895Z               "line": 362
2026-06-16T04:57:29.8310004Z             },
2026-06-16T04:57:29.8310100Z             {
2026-06-16T04:57:29.8310241Z               "path": "crates/spt-store/src/access.rs",
2026-06-16T04:57:29.8310345Z               "line": 386
2026-06-16T04:57:29.8310446Z             },
2026-06-16T04:57:29.8310541Z             {
2026-06-16T04:57:29.8310670Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8310780Z               "line": 6958
2026-06-16T04:57:29.8310879Z             }
2026-06-16T04:57:29.8310970Z           ]
2026-06-16T04:57:29.8311066Z         }
2026-06-16T04:57:29.8311166Z       }
2026-06-16T04:57:29.8311304Z     },
2026-06-16T04:57:29.8311400Z     {
2026-06-16T04:57:29.8311518Z       "id": "REQ-SHELL-1",
2026-06-16T04:57:29.8312448Z       "title": "Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)",
2026-06-16T04:57:29.8312571Z       "requiredStages": [
2026-06-16T04:57:29.8312671Z         "impl",
2026-06-16T04:57:29.8312774Z         "unit",
2026-06-16T04:57:29.8312878Z         "int"
2026-06-16T04:57:29.8312984Z       ],
2026-06-16T04:57:29.8313089Z       "stages": {
2026-06-16T04:57:29.8313193Z         "doc": {
2026-06-16T04:57:29.8313304Z           "complete": false,
2026-06-16T04:57:29.8313413Z           "evidence": []
2026-06-16T04:57:29.8313513Z         },
2026-06-16T04:57:29.8313623Z         "impl": {
2026-06-16T04:57:29.8313728Z           "complete": true,
2026-06-16T04:57:29.8313832Z           "evidence": [
2026-06-16T04:57:29.8313938Z             {
2026-06-16T04:57:29.8314090Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8314200Z               "line": 189
2026-06-16T04:57:29.8314305Z             },
2026-06-16T04:57:29.8314405Z             {
2026-06-16T04:57:29.8314662Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8314859Z               "line": 268
2026-06-16T04:57:29.8314967Z             },
2026-06-16T04:57:29.8315067Z             {
2026-06-16T04:57:29.8315221Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8315320Z               "line": 27
2026-06-16T04:57:29.8315424Z             },
2026-06-16T04:57:29.8315524Z             {
2026-06-16T04:57:29.8315663Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8315776Z               "line": 52
2026-06-16T04:57:29.8315878Z             },
2026-06-16T04:57:29.8315973Z             {
2026-06-16T04:57:29.8316121Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8316235Z               "line": 144
2026-06-16T04:57:29.8316334Z             },
2026-06-16T04:57:29.8316430Z             {
2026-06-16T04:57:29.8316568Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8316677Z               "line": 176
2026-06-16T04:57:29.8316794Z             },
2026-06-16T04:57:29.8316888Z             {
2026-06-16T04:57:29.8317036Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8317147Z               "line": 22
2026-06-16T04:57:29.8317250Z             },
2026-06-16T04:57:29.8317360Z             {
2026-06-16T04:57:29.8317504Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8317617Z               "line": 65
2026-06-16T04:57:29.8317712Z             },
2026-06-16T04:57:29.8317816Z             {
2026-06-16T04:57:29.8317962Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8318062Z               "line": 76
2026-06-16T04:57:29.8318168Z             },
2026-06-16T04:57:29.8318272Z             {
2026-06-16T04:57:29.8318416Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8318520Z               "line": 150
2026-06-16T04:57:29.8318620Z             },
2026-06-16T04:57:29.8318726Z             {
2026-06-16T04:57:29.8318873Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8319060Z               "line": 209
2026-06-16T04:57:29.8319155Z             },
2026-06-16T04:57:29.8319269Z             {
2026-06-16T04:57:29.8319417Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8319531Z               "line": 254
2026-06-16T04:57:29.8319637Z             },
2026-06-16T04:57:29.8319736Z             {
2026-06-16T04:57:29.8319879Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8319980Z               "line": 276
2026-06-16T04:57:29.8320084Z             },
2026-06-16T04:57:29.8320184Z             {
2026-06-16T04:57:29.8320324Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8323008Z               "line": 289
2026-06-16T04:57:29.8323131Z             },
2026-06-16T04:57:29.8323236Z             {
2026-06-16T04:57:29.8323386Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.8323516Z               "line": 217
2026-06-16T04:57:29.8323616Z             },
2026-06-16T04:57:29.8323720Z             {
2026-06-16T04:57:29.8323878Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.8323983Z               "line": 233
2026-06-16T04:57:29.8324087Z             },
2026-06-16T04:57:29.8324188Z             {
2026-06-16T04:57:29.8324345Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.8324451Z               "line": 41
2026-06-16T04:57:29.8324546Z             },
2026-06-16T04:57:29.8324645Z             {
2026-06-16T04:57:29.8324794Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.8324912Z               "line": 222
2026-06-16T04:57:29.8325012Z             },
2026-06-16T04:57:29.8325118Z             {
2026-06-16T04:57:29.8325260Z               "path": "crates/spt/src/api/delivery.rs",
2026-06-16T04:57:29.8325366Z               "line": 173
2026-06-16T04:57:29.8325471Z             },
2026-06-16T04:57:29.8325700Z             {
2026-06-16T04:57:29.8325936Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.8326041Z               "line": 346
2026-06-16T04:57:29.8326147Z             },
2026-06-16T04:57:29.8326246Z             {
2026-06-16T04:57:29.8326366Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.8326471Z               "line": 411
2026-06-16T04:57:29.8326575Z             },
2026-06-16T04:57:29.8326676Z             {
2026-06-16T04:57:29.8326824Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8326928Z               "line": 329
2026-06-16T04:57:29.8327034Z             },
2026-06-16T04:57:29.8327133Z             {
2026-06-16T04:57:29.8327262Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8327363Z               "line": 5502
2026-06-16T04:57:29.8327471Z             },
2026-06-16T04:57:29.8327562Z             {
2026-06-16T04:57:29.8327687Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8327805Z               "line": 5652
2026-06-16T04:57:29.8327901Z             },
2026-06-16T04:57:29.8328012Z             {
2026-06-16T04:57:29.8328134Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8328238Z               "line": 5828
2026-06-16T04:57:29.8328339Z             }
2026-06-16T04:57:29.8328446Z           ]
2026-06-16T04:57:29.8328551Z         },
2026-06-16T04:57:29.8328656Z         "int": {
2026-06-16T04:57:29.8328761Z           "complete": true,
2026-06-16T04:57:29.8328856Z           "evidence": [
2026-06-16T04:57:29.8329033Z             {
2026-06-16T04:57:29.8329185Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8329296Z               "line": 709
2026-06-16T04:57:29.8329391Z             },
2026-06-16T04:57:29.8329495Z             {
2026-06-16T04:57:29.8329648Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T04:57:29.8329748Z               "line": 8
2026-06-16T04:57:29.8329847Z             },
2026-06-16T04:57:29.8329954Z             {
2026-06-16T04:57:29.8330105Z               "path": "crates/spt-daemon/tests/shellchan.rs",
2026-06-16T04:57:29.8330216Z               "line": 49
2026-06-16T04:57:29.8330315Z             },
2026-06-16T04:57:29.8330415Z             {
2026-06-16T04:57:29.8330555Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8330667Z               "line": 710
2026-06-16T04:57:29.8330773Z             },
2026-06-16T04:57:29.8330870Z             {
2026-06-16T04:57:29.8331025Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8331119Z               "line": 1120
2026-06-16T04:57:29.8331225Z             },
2026-06-16T04:57:29.8331327Z             {
2026-06-16T04:57:29.8331480Z               "path": "crates/spt/tests/notify_shell_e2e.rs",
2026-06-16T04:57:29.8331581Z               "line": 17
2026-06-16T04:57:29.8331685Z             },
2026-06-16T04:57:29.8331785Z             {
2026-06-16T04:57:29.8331924Z               "path": "crates/spt/tests/shell_e2e.rs",
2026-06-16T04:57:29.8332033Z               "line": 14
2026-06-16T04:57:29.8332134Z             }
2026-06-16T04:57:29.8332238Z           ]
2026-06-16T04:57:29.8332347Z         },
2026-06-16T04:57:29.8332448Z         "unit": {
2026-06-16T04:57:29.8332557Z           "complete": true,
2026-06-16T04:57:29.8332662Z           "evidence": [
2026-06-16T04:57:29.8332763Z             {
2026-06-16T04:57:29.8332910Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8333025Z               "line": 246
2026-06-16T04:57:29.8333126Z             },
2026-06-16T04:57:29.8333225Z             {
2026-06-16T04:57:29.8333364Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8333470Z               "line": 279
2026-06-16T04:57:29.8333573Z             },
2026-06-16T04:57:29.8333677Z             {
2026-06-16T04:57:29.8333824Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8333923Z               "line": 319
2026-06-16T04:57:29.8334114Z             },
2026-06-16T04:57:29.8334318Z             {
2026-06-16T04:57:29.8334458Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8334576Z               "line": 594
2026-06-16T04:57:29.8334686Z             },
2026-06-16T04:57:29.8334781Z             {
2026-06-16T04:57:29.8334929Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8335035Z               "line": 667
2026-06-16T04:57:29.8335134Z             },
2026-06-16T04:57:29.8335239Z             {
2026-06-16T04:57:29.8335387Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8335492Z               "line": 811
2026-06-16T04:57:29.8335596Z             },
2026-06-16T04:57:29.8335697Z             {
2026-06-16T04:57:29.8335840Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.8335955Z               "line": 595
2026-06-16T04:57:29.8336055Z             },
2026-06-16T04:57:29.8336154Z             {
2026-06-16T04:57:29.8336289Z               "path": "crates/spt-store/src/shellinfo.rs",
2026-06-16T04:57:29.8336412Z               "line": 399
2026-06-16T04:57:29.8336511Z             },
2026-06-16T04:57:29.8336616Z             {
2026-06-16T04:57:29.8336745Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8336844Z               "line": 7580
2026-06-16T04:57:29.8336950Z             },
2026-06-16T04:57:29.8337055Z             {
2026-06-16T04:57:29.8337168Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8337275Z               "line": 7904
2026-06-16T04:57:29.8337374Z             },
2026-06-16T04:57:29.8337478Z             {
2026-06-16T04:57:29.8337603Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8337708Z               "line": 8321
2026-06-16T04:57:29.8337812Z             }
2026-06-16T04:57:29.8337914Z           ]
2026-06-16T04:57:29.8338008Z         }
2026-06-16T04:57:29.8338113Z       }
2026-06-16T04:57:29.8338215Z     },
2026-06-16T04:57:29.8338314Z     {
2026-06-16T04:57:29.8338432Z       "id": "REQ-SHELL-2",
2026-06-16T04:57:29.8340123Z       "title": "Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)",
2026-06-16T04:57:29.8340237Z       "requiredStages": [
2026-06-16T04:57:29.8340341Z         "impl",
2026-06-16T04:57:29.8340442Z         "unit",
2026-06-16T04:57:29.8340547Z         "int"
2026-06-16T04:57:29.8340646Z       ],
2026-06-16T04:57:29.8340752Z       "stages": {
2026-06-16T04:57:29.8340852Z         "doc": {
2026-06-16T04:57:29.8340971Z           "complete": false,
2026-06-16T04:57:29.8341082Z           "evidence": []
2026-06-16T04:57:29.8341186Z         },
2026-06-16T04:57:29.8341295Z         "impl": {
2026-06-16T04:57:29.8341415Z           "complete": true,
2026-06-16T04:57:29.8341520Z           "evidence": [
2026-06-16T04:57:29.8341618Z             {
2026-06-16T04:57:29.8341766Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.8341879Z               "line": 217
2026-06-16T04:57:29.8341978Z             },
2026-06-16T04:57:29.8342078Z             {
2026-06-16T04:57:29.8342226Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.8342330Z               "line": 403
2026-06-16T04:57:29.8342432Z             },
2026-06-16T04:57:29.8342532Z             {
2026-06-16T04:57:29.8342680Z               "path": "crates/spt-daemon/src/grants.rs",
2026-06-16T04:57:29.8342779Z               "line": 250
2026-06-16T04:57:29.8342884Z             },
2026-06-16T04:57:29.8342989Z             {
2026-06-16T04:57:29.8343137Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.8343251Z               "line": 353
2026-06-16T04:57:29.8343451Z             },
2026-06-16T04:57:29.8343648Z             {
2026-06-16T04:57:29.8343794Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8343905Z               "line": 30
2026-06-16T04:57:29.8344011Z             },
2026-06-16T04:57:29.8344109Z             {
2026-06-16T04:57:29.8344256Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8344361Z               "line": 409
2026-06-16T04:57:29.8344473Z             },
2026-06-16T04:57:29.8344578Z             {
2026-06-16T04:57:29.8344722Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8344831Z               "line": 445
2026-06-16T04:57:29.8344931Z             },
2026-06-16T04:57:29.8345032Z             {
2026-06-16T04:57:29.8345169Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8345285Z               "line": 660
2026-06-16T04:57:29.8345385Z             },
2026-06-16T04:57:29.8345484Z             {
2026-06-16T04:57:29.8345628Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.8345732Z               "line": 348
2026-06-16T04:57:29.8345837Z             },
2026-06-16T04:57:29.8345938Z             {
2026-06-16T04:57:29.8346085Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8346186Z               "line": 115
2026-06-16T04:57:29.8346286Z             },
2026-06-16T04:57:29.8346390Z             {
2026-06-16T04:57:29.8346539Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8346657Z               "line": 120
2026-06-16T04:57:29.8346758Z             },
2026-06-16T04:57:29.8346859Z             {
2026-06-16T04:57:29.8347009Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8347113Z               "line": 369
2026-06-16T04:57:29.8347219Z             },
2026-06-16T04:57:29.8347319Z             {
2026-06-16T04:57:29.8347462Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8347568Z               "line": 495
2026-06-16T04:57:29.8347681Z             },
2026-06-16T04:57:29.8347786Z             {
2026-06-16T04:57:29.8347930Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8348034Z               "line": 24
2026-06-16T04:57:29.8348140Z             },
2026-06-16T04:57:29.8348240Z             {
2026-06-16T04:57:29.8348382Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8348483Z               "line": 76
2026-06-16T04:57:29.8348583Z             },
2026-06-16T04:57:29.8348683Z             {
2026-06-16T04:57:29.8348827Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8348930Z               "line": 154
2026-06-16T04:57:29.8349113Z             },
2026-06-16T04:57:29.8349212Z             {
2026-06-16T04:57:29.8349359Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8349463Z               "line": 177
2026-06-16T04:57:29.8349562Z             },
2026-06-16T04:57:29.8349666Z             {
2026-06-16T04:57:29.8349806Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8349924Z               "line": 273
2026-06-16T04:57:29.8350019Z             },
2026-06-16T04:57:29.8350120Z             {
2026-06-16T04:57:29.8350267Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8350368Z               "line": 455
2026-06-16T04:57:29.8350468Z             },
2026-06-16T04:57:29.8350572Z             {
2026-06-16T04:57:29.8350716Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8350830Z               "line": 537
2026-06-16T04:57:29.8350929Z             },
2026-06-16T04:57:29.8351036Z             {
2026-06-16T04:57:29.8351178Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T04:57:29.8351293Z               "line": 27
2026-06-16T04:57:29.8351394Z             },
2026-06-16T04:57:29.8351492Z             {
2026-06-16T04:57:29.8351637Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T04:57:29.8351826Z               "line": 48
2026-06-16T04:57:29.8352023Z             },
2026-06-16T04:57:29.8352126Z             {
2026-06-16T04:57:29.8352274Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8352373Z               "line": 513
2026-06-16T04:57:29.8352476Z             },
2026-06-16T04:57:29.8352586Z             {
2026-06-16T04:57:29.8352706Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8352824Z               "line": 1707
2026-06-16T04:57:29.8352925Z             },
2026-06-16T04:57:29.8353030Z             {
2026-06-16T04:57:29.8353153Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8353264Z               "line": 5516
2026-06-16T04:57:29.8353358Z             },
2026-06-16T04:57:29.8353458Z             {
2026-06-16T04:57:29.8353583Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8353692Z               "line": 5577
2026-06-16T04:57:29.8353792Z             },
2026-06-16T04:57:29.8353893Z             {
2026-06-16T04:57:29.8354030Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8354160Z               "line": 5605
2026-06-16T04:57:29.8354256Z             },
2026-06-16T04:57:29.8354364Z             {
2026-06-16T04:57:29.8354489Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8354595Z               "line": 5659
2026-06-16T04:57:29.8354698Z             },
2026-06-16T04:57:29.8354792Z             {
2026-06-16T04:57:29.8354912Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8355019Z               "line": 5914
2026-06-16T04:57:29.8355123Z             },
2026-06-16T04:57:29.8355225Z             {
2026-06-16T04:57:29.8355348Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8355448Z               "line": 5974
2026-06-16T04:57:29.8355545Z             },
2026-06-16T04:57:29.8355640Z             {
2026-06-16T04:57:29.8355777Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.8355887Z               "line": 298
2026-06-16T04:57:29.8355996Z             },
2026-06-16T04:57:29.8356112Z             {
2026-06-16T04:57:29.8356235Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.8356349Z               "line": 339
2026-06-16T04:57:29.8356455Z             }
2026-06-16T04:57:29.8356555Z           ]
2026-06-16T04:57:29.8356654Z         },
2026-06-16T04:57:29.8356756Z         "int": {
2026-06-16T04:57:29.8356869Z           "complete": true,
2026-06-16T04:57:29.8356974Z           "evidence": [
2026-06-16T04:57:29.8357075Z             {
2026-06-16T04:57:29.8357231Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8357332Z               "line": 702
2026-06-16T04:57:29.8357433Z             },
2026-06-16T04:57:29.8357532Z             {
2026-06-16T04:57:29.8357673Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8357770Z               "line": 710
2026-06-16T04:57:29.8357875Z             },
2026-06-16T04:57:29.8357969Z             {
2026-06-16T04:57:29.8358113Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8358232Z               "line": 1120
2026-06-16T04:57:29.8358332Z             },
2026-06-16T04:57:29.8358438Z             {
2026-06-16T04:57:29.8358599Z               "path": "crates/spt/tests/shell_sleepwake_e2e.rs",
2026-06-16T04:57:29.8358705Z               "line": 18
2026-06-16T04:57:29.8358809Z             }
2026-06-16T04:57:29.8358914Z           ]
2026-06-16T04:57:29.8359086Z         },
2026-06-16T04:57:29.8359186Z         "unit": {
2026-06-16T04:57:29.8359291Z           "complete": true,
2026-06-16T04:57:29.8359396Z           "evidence": [
2026-06-16T04:57:29.8359500Z             {
2026-06-16T04:57:29.8359649Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8359749Z               "line": 744
2026-06-16T04:57:29.8359857Z             },
2026-06-16T04:57:29.8359952Z             {
2026-06-16T04:57:29.8360103Z               "path": "crates/spt-daemon/src/resting.rs",
2026-06-16T04:57:29.8360216Z               "line": 796
2026-06-16T04:57:29.8360409Z             },
2026-06-16T04:57:29.8360598Z             {
2026-06-16T04:57:29.8360785Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8360904Z               "line": 700
2026-06-16T04:57:29.8361000Z             },
2026-06-16T04:57:29.8361108Z             {
2026-06-16T04:57:29.8361267Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8361371Z               "line": 749
2026-06-16T04:57:29.8361471Z             },
2026-06-16T04:57:29.8361567Z             {
2026-06-16T04:57:29.8361709Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8361853Z               "line": 773
2026-06-16T04:57:29.8361954Z             },
2026-06-16T04:57:29.8362067Z             {
2026-06-16T04:57:29.8362231Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8362343Z               "line": 602
2026-06-16T04:57:29.8362458Z             },
2026-06-16T04:57:29.8362559Z             {
2026-06-16T04:57:29.8362715Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8362838Z               "line": 623
2026-06-16T04:57:29.8362957Z             },
2026-06-16T04:57:29.8363074Z             {
2026-06-16T04:57:29.8363218Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8363318Z               "line": 659
2026-06-16T04:57:29.8363417Z             },
2026-06-16T04:57:29.8363519Z             {
2026-06-16T04:57:29.8363661Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8363775Z               "line": 713
2026-06-16T04:57:29.8363881Z             },
2026-06-16T04:57:29.8363976Z             {
2026-06-16T04:57:29.8364124Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8364229Z               "line": 731
2026-06-16T04:57:29.8364329Z             },
2026-06-16T04:57:29.8364429Z             {
2026-06-16T04:57:29.8364577Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8364686Z               "line": 765
2026-06-16T04:57:29.8364797Z             },
2026-06-16T04:57:29.8364910Z             {
2026-06-16T04:57:29.8365059Z               "path": "crates/spt-daemon/src/shellwake.rs",
2026-06-16T04:57:29.8365164Z               "line": 840
2026-06-16T04:57:29.8365272Z             },
2026-06-16T04:57:29.8365386Z             {
2026-06-16T04:57:29.8365538Z               "path": "crates/spt-net/src/net/shelllink.rs",
2026-06-16T04:57:29.8365641Z               "line": 85
2026-06-16T04:57:29.8365741Z             },
2026-06-16T04:57:29.8365857Z             {
2026-06-16T04:57:29.8365984Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8366105Z               "line": 6758
2026-06-16T04:57:29.8366209Z             },
2026-06-16T04:57:29.8366309Z             {
2026-06-16T04:57:29.8366448Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8366552Z               "line": 7658
2026-06-16T04:57:29.8366667Z             },
2026-06-16T04:57:29.8366753Z             {
2026-06-16T04:57:29.8366881Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8367001Z               "line": 7728
2026-06-16T04:57:29.8367106Z             },
2026-06-16T04:57:29.8367214Z             {
2026-06-16T04:57:29.8367335Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8367453Z               "line": 7766
2026-06-16T04:57:29.8367553Z             }
2026-06-16T04:57:29.8367659Z           ]
2026-06-16T04:57:29.8367763Z         }
2026-06-16T04:57:29.8367863Z       }
2026-06-16T04:57:29.8367969Z     },
2026-06-16T04:57:29.8368064Z     {
2026-06-16T04:57:29.8368187Z       "id": "REQ-SHELL-3",
2026-06-16T04:57:29.8370607Z       "title": "Drive channel (owner->shell, REST-only, never-spooled, latest-wins): the owner->shell mirror of sensory for continuous real-time control (scroll/crank/stick/avatar) — a [shell.drive] manifest vocab + EVENT_TYPE_DRIVE frame, delivered to the ONLINE binary only via a single live slot (a new frame supersedes an undelivered one — no spool, no queue, no replay on relink), dropped-with-diagnostic if the shell is offline; cross-node rides the ephemeral link (REST class), never the durable shell spool. Commands = discrete+durable; drive = continuous+ephemeral (CONTEXT:260, minted 2026-06-11 Gateway grill).",
2026-06-16T04:57:29.8370955Z       "requiredStages": [
2026-06-16T04:57:29.8371058Z         "impl",
2026-06-16T04:57:29.8371158Z         "unit",
2026-06-16T04:57:29.8371269Z         "int"
2026-06-16T04:57:29.8371373Z       ],
2026-06-16T04:57:29.8371473Z       "stages": {
2026-06-16T04:57:29.8371579Z         "doc": {
2026-06-16T04:57:29.8371688Z           "complete": false,
2026-06-16T04:57:29.8371803Z           "evidence": []
2026-06-16T04:57:29.8371903Z         },
2026-06-16T04:57:29.8372007Z         "impl": {
2026-06-16T04:57:29.8372127Z           "complete": true,
2026-06-16T04:57:29.8372236Z           "evidence": [
2026-06-16T04:57:29.8372336Z             {
2026-06-16T04:57:29.8372495Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.8372613Z               "line": 224
2026-06-16T04:57:29.8372718Z             },
2026-06-16T04:57:29.8372828Z             {
2026-06-16T04:57:29.8372985Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8373101Z               "line": 36
2026-06-16T04:57:29.8373204Z             },
2026-06-16T04:57:29.8373303Z             {
2026-06-16T04:57:29.8373465Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8373568Z               "line": 137
2026-06-16T04:57:29.8373672Z             },
2026-06-16T04:57:29.8373773Z             {
2026-06-16T04:57:29.8373921Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8374040Z               "line": 153
2026-06-16T04:57:29.8374141Z             },
2026-06-16T04:57:29.8374240Z             {
2026-06-16T04:57:29.8374389Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8374493Z               "line": 165
2026-06-16T04:57:29.8374597Z             },
2026-06-16T04:57:29.8374709Z             {
2026-06-16T04:57:29.8374865Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8374965Z               "line": 242
2026-06-16T04:57:29.8375066Z             },
2026-06-16T04:57:29.8375169Z             {
2026-06-16T04:57:29.8375314Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8375428Z               "line": 267
2026-06-16T04:57:29.8375533Z             },
2026-06-16T04:57:29.8375634Z             {
2026-06-16T04:57:29.8375781Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8375894Z               "line": 293
2026-06-16T04:57:29.8375989Z             },
2026-06-16T04:57:29.8376088Z             {
2026-06-16T04:57:29.8376239Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T04:57:29.8376350Z               "line": 51
2026-06-16T04:57:29.8376459Z             },
2026-06-16T04:57:29.8376564Z             {
2026-06-16T04:57:29.8376716Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8376835Z               "line": 333
2026-06-16T04:57:29.8376941Z             },
2026-06-16T04:57:29.8377045Z             {
2026-06-16T04:57:29.8377188Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8377304Z               "line": 373
2026-06-16T04:57:29.8377408Z             },
2026-06-16T04:57:29.8377513Z             {
2026-06-16T04:57:29.8377671Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8377775Z               "line": 602
2026-06-16T04:57:29.8377876Z             },
2026-06-16T04:57:29.8377971Z             {
2026-06-16T04:57:29.8378118Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8378224Z               "line": 132
2026-06-16T04:57:29.8378328Z             },
2026-06-16T04:57:29.8378433Z             {
2026-06-16T04:57:29.8378582Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8378699Z               "line": 443
2026-06-16T04:57:29.8378885Z             },
2026-06-16T04:57:29.8379147Z             {
2026-06-16T04:57:29.8379301Z               "path": "crates/spt-proto/src/event.rs",
2026-06-16T04:57:29.8379400Z               "line": 74
2026-06-16T04:57:29.8379501Z             },
2026-06-16T04:57:29.8379600Z             {
2026-06-16T04:57:29.8379762Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8379864Z               "line": 530
2026-06-16T04:57:29.8379968Z             },
2026-06-16T04:57:29.8380072Z             {
2026-06-16T04:57:29.8380225Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8380334Z               "line": 392
2026-06-16T04:57:29.8380436Z             },
2026-06-16T04:57:29.8380540Z             {
2026-06-16T04:57:29.8380673Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8380784Z               "line": 5700
2026-06-16T04:57:29.8380892Z             }
2026-06-16T04:57:29.8380987Z           ]
2026-06-16T04:57:29.8381096Z         },
2026-06-16T04:57:29.8381205Z         "int": {
2026-06-16T04:57:29.8381327Z           "complete": true,
2026-06-16T04:57:29.8381438Z           "evidence": [
2026-06-16T04:57:29.8381538Z             {
2026-06-16T04:57:29.8381700Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8381805Z               "line": 1167
2026-06-16T04:57:29.8381914Z             },
2026-06-16T04:57:29.8382009Z             {
2026-06-16T04:57:29.8382148Z               "path": "crates/spt/tests/drive_e2e.rs",
2026-06-16T04:57:29.8382243Z               "line": 17
2026-06-16T04:57:29.8382349Z             }
2026-06-16T04:57:29.8382458Z           ]
2026-06-16T04:57:29.8382563Z         },
2026-06-16T04:57:29.8382668Z         "unit": {
2026-06-16T04:57:29.8382787Z           "complete": true,
2026-06-16T04:57:29.8382896Z           "evidence": [
2026-06-16T04:57:29.8382993Z             {
2026-06-16T04:57:29.8383144Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8383263Z               "line": 311
2026-06-16T04:57:29.8383365Z             },
2026-06-16T04:57:29.8383473Z             {
2026-06-16T04:57:29.8383618Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8383722Z               "line": 325
2026-06-16T04:57:29.8383826Z             },
2026-06-16T04:57:29.8383925Z             {
2026-06-16T04:57:29.8384081Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8384181Z               "line": 343
2026-06-16T04:57:29.8384285Z             },
2026-06-16T04:57:29.8384391Z             {
2026-06-16T04:57:29.8384542Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8384639Z               "line": 364
2026-06-16T04:57:29.8384749Z             },
2026-06-16T04:57:29.8384857Z             {
2026-06-16T04:57:29.8384997Z               "path": "crates/spt-daemon/src/drivehub.rs",
2026-06-16T04:57:29.8385110Z               "line": 376
2026-06-16T04:57:29.8385216Z             },
2026-06-16T04:57:29.8385316Z             {
2026-06-16T04:57:29.8385468Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8385589Z               "line": 825
2026-06-16T04:57:29.8385692Z             },
2026-06-16T04:57:29.8385797Z             {
2026-06-16T04:57:29.8385946Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8386063Z               "line": 885
2026-06-16T04:57:29.8386175Z             },
2026-06-16T04:57:29.8386275Z             {
2026-06-16T04:57:29.8386430Z               "path": "crates/spt-daemon/src/shellchan.rs",
2026-06-16T04:57:29.8386540Z               "line": 338
2026-06-16T04:57:29.8386639Z             },
2026-06-16T04:57:29.8386742Z             {
2026-06-16T04:57:29.8386876Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.8386991Z               "line": 616
2026-06-16T04:57:29.8387100Z             },
2026-06-16T04:57:29.8387201Z             {
2026-06-16T04:57:29.8387330Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8387439Z               "line": 7440
2026-06-16T04:57:29.8387639Z             }
2026-06-16T04:57:29.8387821Z           ]
2026-06-16T04:57:29.8387921Z         }
2026-06-16T04:57:29.8388025Z       }
2026-06-16T04:57:29.8388126Z     },
2026-06-16T04:57:29.8388226Z     {
2026-06-16T04:57:29.8388340Z       "id": "REQ-SHELL-4",
2026-06-16T04:57:29.8390709Z       "title": "Shell tunnel (reliable-ordered opaque byte stream): an owner<->shell link may hold a long-lived, reliable-ordered, link-bound QUIC stream pair carrying opaque wire protocol traffic the channel taxonomy must NOT reinterpret (first consumer usbip URB) — manifest opt-in, not enveloped, not MAC-framed, not spooled; the link lifecycle governs it (a link-break closes the tunnel). Reliable-ordered ⇒ congestion surfaces as lag never loss ⇒ acceptable only on-LAN: the on-LAN posture is documented and the tunnel is NOT proven cross-WAN (CONTEXT:262, minted 2026-06-11 Gateway grill; doyle gate C2).",
2026-06-16T04:57:29.8390842Z       "requiredStages": [
2026-06-16T04:57:29.8390952Z         "doc",
2026-06-16T04:57:29.8391063Z         "impl",
2026-06-16T04:57:29.8391171Z         "unit",
2026-06-16T04:57:29.8391286Z         "int"
2026-06-16T04:57:29.8391387Z       ],
2026-06-16T04:57:29.8391500Z       "stages": {
2026-06-16T04:57:29.8391599Z         "doc": {
2026-06-16T04:57:29.8391704Z           "complete": true,
2026-06-16T04:57:29.8391816Z           "evidence": [
2026-06-16T04:57:29.8391911Z             {
2026-06-16T04:57:29.8392036Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8392140Z               "line": 262
2026-06-16T04:57:29.8392250Z             }
2026-06-16T04:57:29.8392356Z           ]
2026-06-16T04:57:29.8392455Z         },
2026-06-16T04:57:29.8392559Z         "impl": {
2026-06-16T04:57:29.8392675Z           "complete": true,
2026-06-16T04:57:29.8392779Z           "evidence": [
2026-06-16T04:57:29.8392884Z             {
2026-06-16T04:57:29.8393042Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.8393156Z               "line": 238
2026-06-16T04:57:29.8393262Z             },
2026-06-16T04:57:29.8393366Z             {
2026-06-16T04:57:29.8393514Z               "path": "crates/spt-daemon/src/endpoint.rs",
2026-06-16T04:57:29.8393629Z               "line": 61
2026-06-16T04:57:29.8393728Z             },
2026-06-16T04:57:29.8393829Z             {
2026-06-16T04:57:29.8393981Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8394086Z               "line": 218
2026-06-16T04:57:29.8394201Z             },
2026-06-16T04:57:29.8394296Z             {
2026-06-16T04:57:29.8394456Z               "path": "crates/spt-daemon/src/linkhost.rs",
2026-06-16T04:57:29.8394567Z               "line": 245
2026-06-16T04:57:29.8394669Z             },
2026-06-16T04:57:29.8394778Z             {
2026-06-16T04:57:29.8394927Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8395046Z               "line": 549
2026-06-16T04:57:29.8395136Z             },
2026-06-16T04:57:29.8395242Z             {
2026-06-16T04:57:29.8395389Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8395500Z               "line": 1059
2026-06-16T04:57:29.8395614Z             },
2026-06-16T04:57:29.8395713Z             {
2026-06-16T04:57:29.8395867Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8395981Z               "line": 1071
2026-06-16T04:57:29.8396080Z             },
2026-06-16T04:57:29.8396186Z             {
2026-06-16T04:57:29.8396338Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8396449Z               "line": 1112
2026-06-16T04:57:29.8396548Z             },
2026-06-16T04:57:29.8396658Z             {
2026-06-16T04:57:29.8396807Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8396919Z               "line": 451
2026-06-16T04:57:29.8397028Z             },
2026-06-16T04:57:29.8397133Z             {
2026-06-16T04:57:29.8397284Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8397388Z               "line": 44
2026-06-16T04:57:29.8397613Z             },
2026-06-16T04:57:29.8397809Z             {
2026-06-16T04:57:29.8397974Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8398090Z               "line": 208
2026-06-16T04:57:29.8398195Z             },
2026-06-16T04:57:29.8398303Z             {
2026-06-16T04:57:29.8398457Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8398566Z               "line": 227
2026-06-16T04:57:29.8398662Z             },
2026-06-16T04:57:29.8398772Z             {
2026-06-16T04:57:29.8398919Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8399119Z               "line": 253
2026-06-16T04:57:29.8399215Z             },
2026-06-16T04:57:29.8399316Z             {
2026-06-16T04:57:29.8399462Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8399563Z               "line": 272
2026-06-16T04:57:29.8399665Z             },
2026-06-16T04:57:29.8399768Z             {
2026-06-16T04:57:29.8399924Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8400035Z               "line": 392
2026-06-16T04:57:29.8400125Z             },
2026-06-16T04:57:29.8400229Z             {
2026-06-16T04:57:29.8400378Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8400491Z               "line": 421
2026-06-16T04:57:29.8400597Z             },
2026-06-16T04:57:29.8400697Z             {
2026-06-16T04:57:29.8400849Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8400950Z               "line": 439
2026-06-16T04:57:29.8401049Z             },
2026-06-16T04:57:29.8401149Z             {
2026-06-16T04:57:29.8401299Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8401417Z               "line": 458
2026-06-16T04:57:29.8401517Z             },
2026-06-16T04:57:29.8401623Z             {
2026-06-16T04:57:29.8401774Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8401895Z               "line": 486
2026-06-16T04:57:29.8401999Z             },
2026-06-16T04:57:29.8402102Z             {
2026-06-16T04:57:29.8402264Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8402367Z               "line": 549
2026-06-16T04:57:29.8402476Z             },
2026-06-16T04:57:29.8402567Z             {
2026-06-16T04:57:29.8402724Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8402839Z               "line": 754
2026-06-16T04:57:29.8402944Z             },
2026-06-16T04:57:29.8403048Z             {
2026-06-16T04:57:29.8403198Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8403321Z               "line": 431
2026-06-16T04:57:29.8403425Z             },
2026-06-16T04:57:29.8403531Z             {
2026-06-16T04:57:29.8403655Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8403764Z               "line": 5756
2026-06-16T04:57:29.8403865Z             }
2026-06-16T04:57:29.8407527Z           ]
2026-06-16T04:57:29.8407675Z         },
2026-06-16T04:57:29.8407796Z         "int": {
2026-06-16T04:57:29.8407919Z           "complete": true,
2026-06-16T04:57:29.8408035Z           "evidence": [
2026-06-16T04:57:29.8408130Z             {
2026-06-16T04:57:29.8408273Z               "path": "crates/spt/tests/tunnel_e2e.rs",
2026-06-16T04:57:29.8408393Z               "line": 18
2026-06-16T04:57:29.8408502Z             }
2026-06-16T04:57:29.8408607Z           ]
2026-06-16T04:57:29.8408712Z         },
2026-06-16T04:57:29.8408807Z         "unit": {
2026-06-16T04:57:29.8408927Z           "complete": true,
2026-06-16T04:57:29.8409117Z           "evidence": [
2026-06-16T04:57:29.8409217Z             {
2026-06-16T04:57:29.8409370Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8409489Z               "line": 1309
2026-06-16T04:57:29.8409595Z             },
2026-06-16T04:57:29.8409699Z             {
2026-06-16T04:57:29.8409842Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8410119Z               "line": 1338
2026-06-16T04:57:29.8410314Z             },
2026-06-16T04:57:29.8410413Z             {
2026-06-16T04:57:29.8410565Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8410676Z               "line": 504
2026-06-16T04:57:29.8410775Z             },
2026-06-16T04:57:29.8410876Z             {
2026-06-16T04:57:29.8411023Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8411137Z               "line": 514
2026-06-16T04:57:29.8411243Z             },
2026-06-16T04:57:29.8411348Z             {
2026-06-16T04:57:29.8411496Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8411601Z               "line": 531
2026-06-16T04:57:29.8411710Z             },
2026-06-16T04:57:29.8411801Z             {
2026-06-16T04:57:29.8411948Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8412048Z               "line": 543
2026-06-16T04:57:29.8412154Z             },
2026-06-16T04:57:29.8412263Z             {
2026-06-16T04:57:29.8412416Z               "path": "crates/spt-daemon/src/tunnelhub.rs",
2026-06-16T04:57:29.8412531Z               "line": 555
2026-06-16T04:57:29.8412629Z             },
2026-06-16T04:57:29.8412733Z             {
2026-06-16T04:57:29.8412881Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8412994Z               "line": 1008
2026-06-16T04:57:29.8413090Z             },
2026-06-16T04:57:29.8413190Z             {
2026-06-16T04:57:29.8413322Z               "path": "crates/spt/src/api/mod.rs",
2026-06-16T04:57:29.8413423Z               "line": 623
2026-06-16T04:57:29.8413533Z             }
2026-06-16T04:57:29.8413632Z           ]
2026-06-16T04:57:29.8413734Z         }
2026-06-16T04:57:29.8413838Z       }
2026-06-16T04:57:29.8413937Z     },
2026-06-16T04:57:29.8414044Z     {
2026-06-16T04:57:29.8414157Z       "id": "REQ-SHELL-5",
2026-06-16T04:57:29.8415440Z       "title": "Shell ownership is owner-type-agnostic: any non-Shell endpoint type may own/spawn/drive/command/link a shell (Gateway the named first) — control-exclusivity keys on the owner endpoint_id, NEVER on the owner's endpoint type. No ownership path (mint, launch, owner-from-link, cmd, drive, tunnel, sleep/wake, owner-shutdown) inspects the owner's type (CONTEXT:264, ratified 2026-06-11 Gateway grill).",
2026-06-16T04:57:29.8415577Z       "requiredStages": [
2026-06-16T04:57:29.8415682Z         "doc",
2026-06-16T04:57:29.8415785Z         "impl"
2026-06-16T04:57:29.8415889Z       ],
2026-06-16T04:57:29.8415995Z       "stages": {
2026-06-16T04:57:29.8416100Z         "doc": {
2026-06-16T04:57:29.8416218Z           "complete": true,
2026-06-16T04:57:29.8416334Z           "evidence": [
2026-06-16T04:57:29.8416429Z             {
2026-06-16T04:57:29.8416538Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8416649Z               "line": 265
2026-06-16T04:57:29.8416763Z             }
2026-06-16T04:57:29.8416862Z           ]
2026-06-16T04:57:29.8416968Z         },
2026-06-16T04:57:29.8417072Z         "impl": {
2026-06-16T04:57:29.8417191Z           "complete": true,
2026-06-16T04:57:29.8417302Z           "evidence": [
2026-06-16T04:57:29.8417401Z             {
2026-06-16T04:57:29.8417555Z               "path": "crates/spt-daemon/src/shellhost.rs",
2026-06-16T04:57:29.8417654Z               "line": 255
2026-06-16T04:57:29.8417763Z             }
2026-06-16T04:57:29.8417865Z           ]
2026-06-16T04:57:29.8417960Z         },
2026-06-16T04:57:29.8418068Z         "int": {
2026-06-16T04:57:29.8418182Z           "complete": false,
2026-06-16T04:57:29.8418296Z           "evidence": []
2026-06-16T04:57:29.8418394Z         },
2026-06-16T04:57:29.8418494Z         "unit": {
2026-06-16T04:57:29.8418614Z           "complete": false,
2026-06-16T04:57:29.8418719Z           "evidence": []
2026-06-16T04:57:29.8418824Z         }
2026-06-16T04:57:29.8418924Z       }
2026-06-16T04:57:29.8419114Z     },
2026-06-16T04:57:29.8419215Z     {
2026-06-16T04:57:29.8419329Z       "id": "REQ-START-1",
2026-06-16T04:57:29.8419648Z       "title": "Adapters never resolve SPT_HOME; binary on PATH; api bridging only",
2026-06-16T04:57:29.8419845Z       "requiredStages": [
2026-06-16T04:57:29.8419949Z         "impl",
2026-06-16T04:57:29.8420049Z         "unit"
2026-06-16T04:57:29.8420150Z       ],
2026-06-16T04:57:29.8420249Z       "stages": {
2026-06-16T04:57:29.8420359Z         "doc": {
2026-06-16T04:57:29.8420480Z           "complete": false,
2026-06-16T04:57:29.8420582Z           "evidence": []
2026-06-16T04:57:29.8420683Z         },
2026-06-16T04:57:29.8420785Z         "impl": {
2026-06-16T04:57:29.8420897Z           "complete": true,
2026-06-16T04:57:29.8421006Z           "evidence": [
2026-06-16T04:57:29.8421112Z             {
2026-06-16T04:57:29.8421250Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T04:57:29.8421359Z               "line": 16
2026-06-16T04:57:29.8421460Z             }
2026-06-16T04:57:29.8421560Z           ]
2026-06-16T04:57:29.8421668Z         },
2026-06-16T04:57:29.8421775Z         "int": {
2026-06-16T04:57:29.8421898Z           "complete": false,
2026-06-16T04:57:29.8422008Z           "evidence": []
2026-06-16T04:57:29.8422108Z         },
2026-06-16T04:57:29.8422213Z         "unit": {
2026-06-16T04:57:29.8422327Z           "complete": true,
2026-06-16T04:57:29.8422428Z           "evidence": [
2026-06-16T04:57:29.8422527Z             {
2026-06-16T04:57:29.8422666Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T04:57:29.8422781Z               "line": 43
2026-06-16T04:57:29.8422880Z             },
2026-06-16T04:57:29.8422981Z             {
2026-06-16T04:57:29.8423105Z               "path": "crates/spt-store/src/seed.rs",
2026-06-16T04:57:29.8423218Z               "line": 59
2026-06-16T04:57:29.8423313Z             }
2026-06-16T04:57:29.8423422Z           ]
2026-06-16T04:57:29.8423521Z         }
2026-06-16T04:57:29.8423620Z       }
2026-06-16T04:57:29.8423712Z     },
2026-06-16T04:57:29.8423817Z     {
2026-06-16T04:57:29.8423930Z       "id": "REQ-START-2",
2026-06-16T04:57:29.8424093Z       "title": "Harness-hosted startup: api seed then listen",
2026-06-16T04:57:29.8424207Z       "requiredStages": [
2026-06-16T04:57:29.8424313Z         "impl",
2026-06-16T04:57:29.8424417Z         "unit",
2026-06-16T04:57:29.8424526Z         "int"
2026-06-16T04:57:29.8424623Z       ],
2026-06-16T04:57:29.8424727Z       "stages": {
2026-06-16T04:57:29.8424831Z         "doc": {
2026-06-16T04:57:29.8424947Z           "complete": false,
2026-06-16T04:57:29.8425047Z           "evidence": []
2026-06-16T04:57:29.8425146Z         },
2026-06-16T04:57:29.8425253Z         "impl": {
2026-06-16T04:57:29.8425361Z           "complete": true,
2026-06-16T04:57:29.8425471Z           "evidence": [
2026-06-16T04:57:29.8425568Z             {
2026-06-16T04:57:29.8425718Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8425819Z               "line": 16
2026-06-16T04:57:29.8425920Z             },
2026-06-16T04:57:29.8426024Z             {
2026-06-16T04:57:29.8426156Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8426276Z               "line": 92
2026-06-16T04:57:29.8426374Z             },
2026-06-16T04:57:29.8426478Z             {
2026-06-16T04:57:29.8426617Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8426726Z               "line": 232
2026-06-16T04:57:29.8426831Z             }
2026-06-16T04:57:29.8426927Z           ]
2026-06-16T04:57:29.8427031Z         },
2026-06-16T04:57:29.8427122Z         "int": {
2026-06-16T04:57:29.8427233Z           "complete": true,
2026-06-16T04:57:29.8427337Z           "evidence": [
2026-06-16T04:57:29.8427437Z             {
2026-06-16T04:57:29.8427585Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.8427689Z               "line": 186
2026-06-16T04:57:29.8427795Z             }
2026-06-16T04:57:29.8427895Z           ]
2026-06-16T04:57:29.8427999Z         },
2026-06-16T04:57:29.8428105Z         "unit": {
2026-06-16T04:57:29.8428215Z           "complete": true,
2026-06-16T04:57:29.8428395Z           "evidence": [
2026-06-16T04:57:29.8428553Z             {
2026-06-16T04:57:29.8428690Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8428790Z               "line": 466
2026-06-16T04:57:29.8428893Z             },
2026-06-16T04:57:29.8429074Z             {
2026-06-16T04:57:29.8429208Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8429312Z               "line": 499
2026-06-16T04:57:29.8429412Z             }
2026-06-16T04:57:29.8429513Z           ]
2026-06-16T04:57:29.8429612Z         }
2026-06-16T04:57:29.8429713Z       }
2026-06-16T04:57:29.8429818Z     },
2026-06-16T04:57:29.8429917Z     {
2026-06-16T04:57:29.8430023Z       "id": "REQ-START-3",
2026-06-16T04:57:29.8430223Z       "title": "spt-hosted startup: spawn-session then api bind (no file)",
2026-06-16T04:57:29.8430342Z       "requiredStages": [
2026-06-16T04:57:29.8430447Z         "impl",
2026-06-16T04:57:29.8430547Z         "unit",
2026-06-16T04:57:29.8430667Z         "int"
2026-06-16T04:57:29.8430767Z       ],
2026-06-16T04:57:29.8430876Z       "stages": {
2026-06-16T04:57:29.8430977Z         "doc": {
2026-06-16T04:57:29.8431091Z           "complete": false,
2026-06-16T04:57:29.8431200Z           "evidence": []
2026-06-16T04:57:29.8431297Z         },
2026-06-16T04:57:29.8431402Z         "impl": {
2026-06-16T04:57:29.8431514Z           "complete": true,
2026-06-16T04:57:29.8431619Z           "evidence": [
2026-06-16T04:57:29.8431725Z             {
2026-06-16T04:57:29.8431867Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8431977Z               "line": 23
2026-06-16T04:57:29.8432077Z             },
2026-06-16T04:57:29.8432177Z             {
2026-06-16T04:57:29.8432321Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8432440Z               "line": 205
2026-06-16T04:57:29.8432534Z             },
2026-06-16T04:57:29.8432631Z             {
2026-06-16T04:57:29.8432768Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8432877Z               "line": 221
2026-06-16T04:57:29.8432988Z             },
2026-06-16T04:57:29.8433087Z             {
2026-06-16T04:57:29.8433236Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8433346Z               "line": 17
2026-06-16T04:57:29.8433445Z             },
2026-06-16T04:57:29.8433546Z             {
2026-06-16T04:57:29.8433679Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8433782Z               "line": 35
2026-06-16T04:57:29.8433887Z             },
2026-06-16T04:57:29.8433982Z             {
2026-06-16T04:57:29.8434109Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8434219Z               "line": 93
2026-06-16T04:57:29.8434320Z             }
2026-06-16T04:57:29.8434424Z           ]
2026-06-16T04:57:29.8434529Z         },
2026-06-16T04:57:29.8434635Z         "int": {
2026-06-16T04:57:29.8434757Z           "complete": true,
2026-06-16T04:57:29.8434859Z           "evidence": [
2026-06-16T04:57:29.8434963Z             {
2026-06-16T04:57:29.8435110Z               "path": "crates/spt/tests/contract_e2e.rs",
2026-06-16T04:57:29.8435221Z               "line": 488
2026-06-16T04:57:29.8435321Z             }
2026-06-16T04:57:29.8435415Z           ]
2026-06-16T04:57:29.8435517Z         },
2026-06-16T04:57:29.8435612Z         "unit": {
2026-06-16T04:57:29.8435730Z           "complete": true,
2026-06-16T04:57:29.8435836Z           "evidence": [
2026-06-16T04:57:29.8435941Z             {
2026-06-16T04:57:29.8436084Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8436184Z               "line": 331
2026-06-16T04:57:29.8436288Z             },
2026-06-16T04:57:29.8436394Z             {
2026-06-16T04:57:29.8436537Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8436635Z               "line": 352
2026-06-16T04:57:29.8436740Z             },
2026-06-16T04:57:29.8436845Z             {
2026-06-16T04:57:29.8436985Z               "path": "crates/spt-daemon/src/seedmap.rs",
2026-06-16T04:57:29.8437300Z               "line": 362
2026-06-16T04:57:29.8437396Z             },
2026-06-16T04:57:29.8437492Z             {
2026-06-16T04:57:29.8437634Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8437735Z               "line": 467
2026-06-16T04:57:29.8437840Z             },
2026-06-16T04:57:29.8437939Z             {
2026-06-16T04:57:29.8438069Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8438169Z               "line": 500
2026-06-16T04:57:29.8438273Z             },
2026-06-16T04:57:29.8438375Z             {
2026-06-16T04:57:29.8438507Z               "path": "crates/spt/src/api/startup.rs",
2026-06-16T04:57:29.8438612Z               "line": 508
2026-06-16T04:57:29.8438708Z             }
2026-06-16T04:57:29.8438812Z           ]
2026-06-16T04:57:29.8438912Z         }
2026-06-16T04:57:29.8439100Z       }
2026-06-16T04:57:29.8439202Z     },
2026-06-16T04:57:29.8439302Z     {
2026-06-16T04:57:29.8439426Z       "id": "REQ-START-4",
2026-06-16T04:57:29.8439595Z       "title": "Adapter-injected env aliases (SPT/OWL/LIVE)",
2026-06-16T04:57:29.8439711Z       "requiredStages": [
2026-06-16T04:57:29.8439811Z         "impl",
2026-06-16T04:57:29.8439915Z         "unit"
2026-06-16T04:57:29.8440016Z       ],
2026-06-16T04:57:29.8440112Z       "stages": {
2026-06-16T04:57:29.8440215Z         "doc": {
2026-06-16T04:57:29.8440321Z           "complete": false,
2026-06-16T04:57:29.8440440Z           "evidence": []
2026-06-16T04:57:29.8440544Z         },
2026-06-16T04:57:29.8440650Z         "impl": {
2026-06-16T04:57:29.8440764Z           "complete": true,
2026-06-16T04:57:29.8440869Z           "evidence": [
2026-06-16T04:57:29.8440975Z             {
2026-06-16T04:57:29.8441117Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8441227Z               "line": 581
2026-06-16T04:57:29.8441318Z             }
2026-06-16T04:57:29.8441412Z           ]
2026-06-16T04:57:29.8441513Z         },
2026-06-16T04:57:29.8441619Z         "int": {
2026-06-16T04:57:29.8441736Z           "complete": false,
2026-06-16T04:57:29.8441842Z           "evidence": []
2026-06-16T04:57:29.8441948Z         },
2026-06-16T04:57:29.8442055Z         "unit": {
2026-06-16T04:57:29.8442169Z           "complete": true,
2026-06-16T04:57:29.8442270Z           "evidence": [
2026-06-16T04:57:29.8442374Z             {
2026-06-16T04:57:29.8442518Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8442623Z               "line": 1020
2026-06-16T04:57:29.8442717Z             }
2026-06-16T04:57:29.8442813Z           ]
2026-06-16T04:57:29.8442914Z         }
2026-06-16T04:57:29.8443018Z       }
2026-06-16T04:57:29.8443108Z     },
2026-06-16T04:57:29.8443210Z     {
2026-06-16T04:57:29.8443314Z       "id": "REQ-STORE-1",
2026-06-16T04:57:29.8444243Z       "title": "spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)",
2026-06-16T04:57:29.8444376Z       "requiredStages": [
2026-06-16T04:57:29.8444500Z         "impl",
2026-06-16T04:57:29.8444603Z         "unit"
2026-06-16T04:57:29.8444707Z       ],
2026-06-16T04:57:29.8444813Z       "stages": {
2026-06-16T04:57:29.8444913Z         "doc": {
2026-06-16T04:57:29.8445036Z           "complete": false,
2026-06-16T04:57:29.8445152Z           "evidence": []
2026-06-16T04:57:29.8445256Z         },
2026-06-16T04:57:29.8445355Z         "impl": {
2026-06-16T04:57:29.8445462Z           "complete": true,
2026-06-16T04:57:29.8445571Z           "evidence": [
2026-06-16T04:57:29.8445670Z             {
2026-06-16T04:57:29.8445824Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8445942Z               "line": 23
2026-06-16T04:57:29.8446043Z             },
2026-06-16T04:57:29.8446143Z             {
2026-06-16T04:57:29.8446411Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8446634Z               "line": 46
2026-06-16T04:57:29.8446744Z             },
2026-06-16T04:57:29.8446853Z             {
2026-06-16T04:57:29.8447007Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8447111Z               "line": 97
2026-06-16T04:57:29.8447219Z             },
2026-06-16T04:57:29.8447315Z             {
2026-06-16T04:57:29.8447466Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8447565Z               "line": 125
2026-06-16T04:57:29.8447666Z             },
2026-06-16T04:57:29.8447771Z             {
2026-06-16T04:57:29.8447903Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8448095Z               "line": 181
2026-06-16T04:57:29.8448194Z             },
2026-06-16T04:57:29.8448301Z             {
2026-06-16T04:57:29.8448448Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8448562Z               "line": 205
2026-06-16T04:57:29.8448672Z             },
2026-06-16T04:57:29.8448777Z             {
2026-06-16T04:57:29.8448920Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8449100Z               "line": 441
2026-06-16T04:57:29.8449211Z             },
2026-06-16T04:57:29.8449311Z             {
2026-06-16T04:57:29.8449459Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8449574Z               "line": 25
2026-06-16T04:57:29.8449678Z             },
2026-06-16T04:57:29.8449777Z             {
2026-06-16T04:57:29.8449919Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8450023Z               "line": 120
2026-06-16T04:57:29.8450127Z             },
2026-06-16T04:57:29.8450223Z             {
2026-06-16T04:57:29.8450371Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8450475Z               "line": 148
2026-06-16T04:57:29.8450576Z             },
2026-06-16T04:57:29.8450681Z             {
2026-06-16T04:57:29.8450843Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8450948Z               "line": 165
2026-06-16T04:57:29.8451047Z             },
2026-06-16T04:57:29.8451153Z             {
2026-06-16T04:57:29.8451290Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8451395Z               "line": 180
2026-06-16T04:57:29.8451496Z             },
2026-06-16T04:57:29.8451605Z             {
2026-06-16T04:57:29.8451744Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8451845Z               "line": 198
2026-06-16T04:57:29.8451943Z             },
2026-06-16T04:57:29.8452044Z             {
2026-06-16T04:57:29.8452193Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8452306Z               "line": 207
2026-06-16T04:57:29.8452407Z             },
2026-06-16T04:57:29.8452508Z             {
2026-06-16T04:57:29.8452649Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T04:57:29.8452763Z               "line": 16
2026-06-16T04:57:29.8452859Z             },
2026-06-16T04:57:29.8452963Z             {
2026-06-16T04:57:29.8453102Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T04:57:29.8453212Z               "line": 63
2026-06-16T04:57:29.8453321Z             }
2026-06-16T04:57:29.8453422Z           ]
2026-06-16T04:57:29.8453536Z         },
2026-06-16T04:57:29.8453635Z         "int": {
2026-06-16T04:57:29.8453756Z           "complete": false,
2026-06-16T04:57:29.8453864Z           "evidence": []
2026-06-16T04:57:29.8453964Z         },
2026-06-16T04:57:29.8454066Z         "unit": {
2026-06-16T04:57:29.8454174Z           "complete": true,
2026-06-16T04:57:29.8454279Z           "evidence": [
2026-06-16T04:57:29.8454381Z             {
2026-06-16T04:57:29.8454522Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8454628Z               "line": 558
2026-06-16T04:57:29.8454739Z             },
2026-06-16T04:57:29.8454946Z             {
2026-06-16T04:57:29.8455182Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8455296Z               "line": 568
2026-06-16T04:57:29.8455397Z             },
2026-06-16T04:57:29.8455506Z             {
2026-06-16T04:57:29.8455640Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8455750Z               "line": 590
2026-06-16T04:57:29.8455849Z             },
2026-06-16T04:57:29.8455950Z             {
2026-06-16T04:57:29.8456098Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8456207Z               "line": 606
2026-06-16T04:57:29.8456313Z             },
2026-06-16T04:57:29.8456408Z             {
2026-06-16T04:57:29.8456560Z               "path": "crates/spt-store/src/branchstore.rs",
2026-06-16T04:57:29.8456675Z               "line": 629
2026-06-16T04:57:29.8456775Z             },
2026-06-16T04:57:29.8456884Z             {
2026-06-16T04:57:29.8457037Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8457151Z               "line": 472
2026-06-16T04:57:29.8457257Z             },
2026-06-16T04:57:29.8457352Z             {
2026-06-16T04:57:29.8457504Z               "path": "crates/spt-store/src/contextstore.rs",
2026-06-16T04:57:29.8457620Z               "line": 507
2026-06-16T04:57:29.8457728Z             },
2026-06-16T04:57:29.8457827Z             {
2026-06-16T04:57:29.8457974Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T04:57:29.8458092Z               "line": 120
2026-06-16T04:57:29.8458197Z             },
2026-06-16T04:57:29.8458298Z             {
2026-06-16T04:57:29.8458440Z               "path": "crates/spt-store/src/project.rs",
2026-06-16T04:57:29.8458546Z               "line": 128
2026-06-16T04:57:29.8458646Z             }
2026-06-16T04:57:29.8458750Z           ]
2026-06-16T04:57:29.8458851Z         }
2026-06-16T04:57:29.8459041Z       }
2026-06-16T04:57:29.8459137Z     },
2026-06-16T04:57:29.8459237Z     {
2026-06-16T04:57:29.8459365Z       "id": "REQ-SUBNET-1",
2026-06-16T04:57:29.8459723Z       "title": "spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-code; spt pair deleted",
2026-06-16T04:57:29.8459843Z       "requiredStages": [
2026-06-16T04:57:29.8459951Z         "impl",
2026-06-16T04:57:29.8460051Z         "unit"
2026-06-16T04:57:29.8460153Z       ],
2026-06-16T04:57:29.8460252Z       "stages": {
2026-06-16T04:57:29.8460361Z         "doc": {
2026-06-16T04:57:29.8460480Z           "complete": false,
2026-06-16T04:57:29.8460597Z           "evidence": []
2026-06-16T04:57:29.8460692Z         },
2026-06-16T04:57:29.8460792Z         "impl": {
2026-06-16T04:57:29.8460903Z           "complete": true,
2026-06-16T04:57:29.8461011Z           "evidence": [
2026-06-16T04:57:29.8461112Z             {
2026-06-16T04:57:29.8461260Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8461374Z               "line": 281
2026-06-16T04:57:29.8461470Z             },
2026-06-16T04:57:29.8461575Z             {
2026-06-16T04:57:29.8461733Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8461842Z               "line": 599
2026-06-16T04:57:29.8461946Z             },
2026-06-16T04:57:29.8462047Z             {
2026-06-16T04:57:29.8462180Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8462299Z               "line": 2992
2026-06-16T04:57:29.8462400Z             },
2026-06-16T04:57:29.8462518Z             {
2026-06-16T04:57:29.8462647Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8462763Z               "line": 3302
2026-06-16T04:57:29.8462856Z             },
2026-06-16T04:57:29.8462962Z             {
2026-06-16T04:57:29.8463096Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8463199Z               "line": 3321
2026-06-16T04:57:29.8463304Z             },
2026-06-16T04:57:29.8463405Z             {
2026-06-16T04:57:29.8463542Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8463772Z               "line": 3385
2026-06-16T04:57:29.8463958Z             },
2026-06-16T04:57:29.8464062Z             {
2026-06-16T04:57:29.8464176Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8464282Z               "line": 3427
2026-06-16T04:57:29.8464382Z             },
2026-06-16T04:57:29.8464491Z             {
2026-06-16T04:57:29.8464621Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8464725Z               "line": 3616
2026-06-16T04:57:29.8464834Z             },
2026-06-16T04:57:29.8464936Z             {
2026-06-16T04:57:29.8465058Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8465159Z               "line": 3686
2026-06-16T04:57:29.8465260Z             },
2026-06-16T04:57:29.8465369Z             {
2026-06-16T04:57:29.8465482Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8465597Z               "line": 3910
2026-06-16T04:57:29.8465700Z             },
2026-06-16T04:57:29.8465804Z             {
2026-06-16T04:57:29.8465938Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8466061Z               "line": 4547
2026-06-16T04:57:29.8466166Z             },
2026-06-16T04:57:29.8466267Z             {
2026-06-16T04:57:29.8466404Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.8466510Z               "line": 418
2026-06-16T04:57:29.8466615Z             }
2026-06-16T04:57:29.8466714Z           ]
2026-06-16T04:57:29.8466820Z         },
2026-06-16T04:57:29.8466934Z         "int": {
2026-06-16T04:57:29.8467048Z           "complete": false,
2026-06-16T04:57:29.8467163Z           "evidence": []
2026-06-16T04:57:29.8467268Z         },
2026-06-16T04:57:29.8467377Z         "unit": {
2026-06-16T04:57:29.8467483Z           "complete": true,
2026-06-16T04:57:29.8467597Z           "evidence": [
2026-06-16T04:57:29.8467706Z             {
2026-06-16T04:57:29.8467861Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8467964Z               "line": 1477
2026-06-16T04:57:29.8468069Z             },
2026-06-16T04:57:29.8468180Z             {
2026-06-16T04:57:29.8468307Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8468411Z               "line": 8568
2026-06-16T04:57:29.8468511Z             },
2026-06-16T04:57:29.8468614Z             {
2026-06-16T04:57:29.8468743Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8468844Z               "line": 8738
2026-06-16T04:57:29.8469033Z             },
2026-06-16T04:57:29.8469125Z             {
2026-06-16T04:57:29.8469253Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8469367Z               "line": 8745
2026-06-16T04:57:29.8469468Z             },
2026-06-16T04:57:29.8469568Z             {
2026-06-16T04:57:29.8469692Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8469802Z               "line": 8798
2026-06-16T04:57:29.8469906Z             },
2026-06-16T04:57:29.8470006Z             {
2026-06-16T04:57:29.8470131Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8470245Z               "line": 8815
2026-06-16T04:57:29.8470360Z             },
2026-06-16T04:57:29.8470460Z             {
2026-06-16T04:57:29.8470588Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8470689Z               "line": 8845
2026-06-16T04:57:29.8470789Z             },
2026-06-16T04:57:29.8470897Z             {
2026-06-16T04:57:29.8471016Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8471129Z               "line": 8944
2026-06-16T04:57:29.8471228Z             },
2026-06-16T04:57:29.8471329Z             {
2026-06-16T04:57:29.8471454Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8471561Z               "line": 9095
2026-06-16T04:57:29.8471663Z             }
2026-06-16T04:57:29.8471754Z           ]
2026-06-16T04:57:29.8471858Z         }
2026-06-16T04:57:29.8471958Z       }
2026-06-16T04:57:29.8472059Z     },
2026-06-16T04:57:29.8472158Z     {
2026-06-16T04:57:29.8472278Z       "id": "REQ-SUBNET-2",
2026-06-16T04:57:29.8472549Z       "title": "Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder",
2026-06-16T04:57:29.8472864Z       "requiredStages": [
2026-06-16T04:57:29.8472960Z         "impl",
2026-06-16T04:57:29.8473055Z         "unit",
2026-06-16T04:57:29.8473155Z         "int"
2026-06-16T04:57:29.8473261Z       ],
2026-06-16T04:57:29.8473360Z       "stages": {
2026-06-16T04:57:29.8473470Z         "doc": {
2026-06-16T04:57:29.8473581Z           "complete": true,
2026-06-16T04:57:29.8473689Z           "evidence": [
2026-06-16T04:57:29.8473788Z             {
2026-06-16T04:57:29.8473974Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-16T04:57:29.8474083Z               "line": 60
2026-06-16T04:57:29.8474193Z             }
2026-06-16T04:57:29.8474294Z           ]
2026-06-16T04:57:29.8474394Z         },
2026-06-16T04:57:29.8474498Z         "impl": {
2026-06-16T04:57:29.8474614Z           "complete": true,
2026-06-16T04:57:29.8474718Z           "evidence": [
2026-06-16T04:57:29.8474823Z             {
2026-06-16T04:57:29.8474980Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.8475099Z               "line": 837
2026-06-16T04:57:29.8475200Z             },
2026-06-16T04:57:29.8475304Z             {
2026-06-16T04:57:29.8475447Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8475558Z               "line": 1190
2026-06-16T04:57:29.8475661Z             },
2026-06-16T04:57:29.8475772Z             {
2026-06-16T04:57:29.8475920Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8476033Z               "line": 611
2026-06-16T04:57:29.8476133Z             },
2026-06-16T04:57:29.8476223Z             {
2026-06-16T04:57:29.8476360Z               "path": "crates/spt-daemon/src/nethost.rs",
2026-06-16T04:57:29.8476469Z               "line": 743
2026-06-16T04:57:29.8476571Z             },
2026-06-16T04:57:29.8476679Z             {
2026-06-16T04:57:29.8476823Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8476932Z               "line": 26
2026-06-16T04:57:29.8477036Z             },
2026-06-16T04:57:29.8477138Z             {
2026-06-16T04:57:29.8477289Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8477385Z               "line": 60
2026-06-16T04:57:29.8477490Z             },
2026-06-16T04:57:29.8477594Z             {
2026-06-16T04:57:29.8477733Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8477837Z               "line": 168
2026-06-16T04:57:29.8477942Z             },
2026-06-16T04:57:29.8478048Z             {
2026-06-16T04:57:29.8478185Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8478300Z               "line": 295
2026-06-16T04:57:29.8478397Z             },
2026-06-16T04:57:29.8478500Z             {
2026-06-16T04:57:29.8478639Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8478745Z               "line": 417
2026-06-16T04:57:29.8478853Z             },
2026-06-16T04:57:29.8479033Z             {
2026-06-16T04:57:29.8479193Z               "path": "crates/spt-net/src/net/pairing/meet.rs",
2026-06-16T04:57:29.8479298Z               "line": 252
2026-06-16T04:57:29.8479404Z             },
2026-06-16T04:57:29.8479503Z             {
2026-06-16T04:57:29.8479632Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8479742Z               "line": 3348
2026-06-16T04:57:29.8479846Z             },
2026-06-16T04:57:29.8479952Z             {
2026-06-16T04:57:29.8480076Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8480185Z               "line": 3849
2026-06-16T04:57:29.8480276Z             },
2026-06-16T04:57:29.8480381Z             {
2026-06-16T04:57:29.8480504Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8480610Z               "line": 4478
2026-06-16T04:57:29.8480710Z             }
2026-06-16T04:57:29.8480814Z           ]
2026-06-16T04:57:29.8480920Z         },
2026-06-16T04:57:29.8481025Z         "int": {
2026-06-16T04:57:29.8481245Z           "complete": true,
2026-06-16T04:57:29.8481438Z           "evidence": [
2026-06-16T04:57:29.8481543Z             {
2026-06-16T04:57:29.8481694Z               "path": "crates/spt-daemon/tests/pairjoin.rs",
2026-06-16T04:57:29.8481807Z               "line": 22
2026-06-16T04:57:29.8481913Z             },
2026-06-16T04:57:29.8482018Z             {
2026-06-16T04:57:29.8482170Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8482285Z               "line": 577
2026-06-16T04:57:29.8482389Z             },
2026-06-16T04:57:29.8482494Z             {
2026-06-16T04:57:29.8482638Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8482752Z               "line": 794
2026-06-16T04:57:29.8482853Z             }
2026-06-16T04:57:29.8482957Z           ]
2026-06-16T04:57:29.8483066Z         },
2026-06-16T04:57:29.8483162Z         "unit": {
2026-06-16T04:57:29.8483281Z           "complete": true,
2026-06-16T04:57:29.8483386Z           "evidence": [
2026-06-16T04:57:29.8483497Z             {
2026-06-16T04:57:29.8483638Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8483753Z               "line": 586
2026-06-16T04:57:29.8483859Z             },
2026-06-16T04:57:29.8483963Z             {
2026-06-16T04:57:29.8484093Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8484198Z               "line": 8608
2026-06-16T04:57:29.8484301Z             },
2026-06-16T04:57:29.8484400Z             {
2026-06-16T04:57:29.8484526Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8484644Z               "line": 9302
2026-06-16T04:57:29.8487548Z             }
2026-06-16T04:57:29.8487683Z           ]
2026-06-16T04:57:29.8487783Z         }
2026-06-16T04:57:29.8487882Z       }
2026-06-16T04:57:29.8487979Z     },
2026-06-16T04:57:29.8488078Z     {
2026-06-16T04:57:29.8488202Z       "id": "REQ-SUBNET-3",
2026-06-16T04:57:29.8488507Z       "title": "Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)",
2026-06-16T04:57:29.8488647Z       "requiredStages": [
2026-06-16T04:57:29.8488750Z         "impl",
2026-06-16T04:57:29.8488855Z         "unit"
2026-06-16T04:57:29.8489014Z       ],
2026-06-16T04:57:29.8489127Z       "stages": {
2026-06-16T04:57:29.8489233Z         "doc": {
2026-06-16T04:57:29.8489338Z           "complete": false,
2026-06-16T04:57:29.8489451Z           "evidence": []
2026-06-16T04:57:29.8489551Z         },
2026-06-16T04:57:29.8489660Z         "impl": {
2026-06-16T04:57:29.8489777Z           "complete": true,
2026-06-16T04:57:29.8489887Z           "evidence": [
2026-06-16T04:57:29.8489992Z             {
2026-06-16T04:57:29.8490153Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8490269Z               "line": 152
2026-06-16T04:57:29.8490369Z             },
2026-06-16T04:57:29.8490473Z             {
2026-06-16T04:57:29.8490612Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8490721Z               "line": 299
2026-06-16T04:57:29.8490826Z             },
2026-06-16T04:57:29.8490931Z             {
2026-06-16T04:57:29.8491074Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8491180Z               "line": 437
2026-06-16T04:57:29.8491284Z             },
2026-06-16T04:57:29.8491389Z             {
2026-06-16T04:57:29.8491533Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8491646Z               "line": 480
2026-06-16T04:57:29.8491747Z             },
2026-06-16T04:57:29.8491853Z             {
2026-06-16T04:57:29.8491998Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8492103Z               "line": 125
2026-06-16T04:57:29.8492212Z             },
2026-06-16T04:57:29.8492315Z             {
2026-06-16T04:57:29.8492458Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8492560Z               "line": 253
2026-06-16T04:57:29.8492663Z             },
2026-06-16T04:57:29.8492898Z             {
2026-06-16T04:57:29.8493054Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8493259Z               "line": 264
2026-06-16T04:57:29.8493364Z             },
2026-06-16T04:57:29.8493465Z             {
2026-06-16T04:57:29.8493612Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8493722Z               "line": 285
2026-06-16T04:57:29.8493822Z             },
2026-06-16T04:57:29.8493927Z             {
2026-06-16T04:57:29.8494071Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8494180Z               "line": 589
2026-06-16T04:57:29.8494275Z             },
2026-06-16T04:57:29.8494376Z             {
2026-06-16T04:57:29.8494523Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8494628Z               "line": 648
2026-06-16T04:57:29.8494729Z             },
2026-06-16T04:57:29.8494832Z             {
2026-06-16T04:57:29.8494984Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.8495105Z               "line": 61
2026-06-16T04:57:29.8495213Z             },
2026-06-16T04:57:29.8495313Z             {
2026-06-16T04:57:29.8495462Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.8495575Z               "line": 90
2026-06-16T04:57:29.8495681Z             },
2026-06-16T04:57:29.8495781Z             {
2026-06-16T04:57:29.8495929Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.8496034Z               "line": 125
2026-06-16T04:57:29.8496139Z             },
2026-06-16T04:57:29.8496243Z             {
2026-06-16T04:57:29.8496387Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-16T04:57:29.8496496Z               "line": 9
2026-06-16T04:57:29.8496597Z             },
2026-06-16T04:57:29.8496702Z             {
2026-06-16T04:57:29.8496830Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8496950Z               "line": 3686
2026-06-16T04:57:29.8497044Z             },
2026-06-16T04:57:29.8497139Z             {
2026-06-16T04:57:29.8497277Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.8497381Z               "line": 445
2026-06-16T04:57:29.8497484Z             }
2026-06-16T04:57:29.8497585Z           ]
2026-06-16T04:57:29.8497691Z         },
2026-06-16T04:57:29.8497794Z         "int": {
2026-06-16T04:57:29.8497909Z           "complete": false,
2026-06-16T04:57:29.8498009Z           "evidence": []
2026-06-16T04:57:29.8498113Z         },
2026-06-16T04:57:29.8498215Z         "unit": {
2026-06-16T04:57:29.8498319Z           "complete": true,
2026-06-16T04:57:29.8498433Z           "evidence": [
2026-06-16T04:57:29.8498534Z             {
2026-06-16T04:57:29.8498687Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8498786Z               "line": 1304
2026-06-16T04:57:29.8498892Z             },
2026-06-16T04:57:29.8499067Z             {
2026-06-16T04:57:29.8499212Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8499324Z               "line": 1606
2026-06-16T04:57:29.8499420Z             },
2026-06-16T04:57:29.8499522Z             {
2026-06-16T04:57:29.8499668Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8499774Z               "line": 888
2026-06-16T04:57:29.8499880Z             },
2026-06-16T04:57:29.8499982Z             {
2026-06-16T04:57:29.8500130Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8500239Z               "line": 959
2026-06-16T04:57:29.8500332Z             },
2026-06-16T04:57:29.8500438Z             {
2026-06-16T04:57:29.8500582Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8500699Z               "line": 1009
2026-06-16T04:57:29.8500796Z             },
2026-06-16T04:57:29.8500906Z             {
2026-06-16T04:57:29.8501052Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8501154Z               "line": 1068
2026-06-16T04:57:29.8501253Z             },
2026-06-16T04:57:29.8501464Z             {
2026-06-16T04:57:29.8501701Z               "path": "crates/spt-net/src/net/replicate.rs",
2026-06-16T04:57:29.8501807Z               "line": 234
2026-06-16T04:57:29.8501911Z             },
2026-06-16T04:57:29.8502016Z             {
2026-06-16T04:57:29.8502159Z               "path": "crates/spt-store/src/hostlabel.rs",
2026-06-16T04:57:29.8502264Z               "line": 49
2026-06-16T04:57:29.8502365Z             },
2026-06-16T04:57:29.8502465Z             {
2026-06-16T04:57:29.8502587Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8502696Z               "line": 8944
2026-06-16T04:57:29.8502805Z             },
2026-06-16T04:57:29.8502904Z             {
2026-06-16T04:57:29.8503038Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8503143Z               "line": 9050
2026-06-16T04:57:29.8503252Z             },
2026-06-16T04:57:29.8503353Z             {
2026-06-16T04:57:29.8503477Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8503590Z               "line": 9268
2026-06-16T04:57:29.8503687Z             }
2026-06-16T04:57:29.8503787Z           ]
2026-06-16T04:57:29.8503881Z         }
2026-06-16T04:57:29.8503978Z       }
2026-06-16T04:57:29.8504077Z     },
2026-06-16T04:57:29.8504181Z     {
2026-06-16T04:57:29.8504302Z       "id": "REQ-SUBNET-4",
2026-06-16T04:57:29.8504622Z       "title": "Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)",
2026-06-16T04:57:29.8504740Z       "requiredStages": [
2026-06-16T04:57:29.8504845Z         "impl",
2026-06-16T04:57:29.8504946Z         "unit"
2026-06-16T04:57:29.8505049Z       ],
2026-06-16T04:57:29.8505150Z       "stages": {
2026-06-16T04:57:29.8505261Z         "doc": {
2026-06-16T04:57:29.8505369Z           "complete": true,
2026-06-16T04:57:29.8505468Z           "evidence": [
2026-06-16T04:57:29.8505573Z             {
2026-06-16T04:57:29.8505755Z               "path": "docs/adr/0005-totp-seeded-spake2-node-pairing.md",
2026-06-16T04:57:29.8505874Z               "line": 60
2026-06-16T04:57:29.8505979Z             }
2026-06-16T04:57:29.8506083Z           ]
2026-06-16T04:57:29.8506184Z         },
2026-06-16T04:57:29.8506284Z         "impl": {
2026-06-16T04:57:29.8506393Z           "complete": true,
2026-06-16T04:57:29.8506503Z           "evidence": [
2026-06-16T04:57:29.8506603Z             {
2026-06-16T04:57:29.8506732Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8506847Z               "line": 2992
2026-06-16T04:57:29.8506952Z             },
2026-06-16T04:57:29.8507051Z             {
2026-06-16T04:57:29.8507167Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8507271Z               "line": 4445
2026-06-16T04:57:29.8507371Z             },
2026-06-16T04:57:29.8507472Z             {
2026-06-16T04:57:29.8507596Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8507703Z               "line": 4478
2026-06-16T04:57:29.8507808Z             }
2026-06-16T04:57:29.8507908Z           ]
2026-06-16T04:57:29.8508016Z         },
2026-06-16T04:57:29.8508116Z         "int": {
2026-06-16T04:57:29.8508217Z           "complete": false,
2026-06-16T04:57:29.8508326Z           "evidence": []
2026-06-16T04:57:29.8508416Z         },
2026-06-16T04:57:29.8508522Z         "unit": {
2026-06-16T04:57:29.8508627Z           "complete": true,
2026-06-16T04:57:29.8508731Z           "evidence": [
2026-06-16T04:57:29.8508832Z             {
2026-06-16T04:57:29.8509031Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8509147Z               "line": 8724
2026-06-16T04:57:29.8509247Z             },
2026-06-16T04:57:29.8509346Z             {
2026-06-16T04:57:29.8509466Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8509571Z               "line": 8798
2026-06-16T04:57:29.8509675Z             }
2026-06-16T04:57:29.8509772Z           ]
2026-06-16T04:57:29.8509871Z         }
2026-06-16T04:57:29.8509970Z       }
2026-06-16T04:57:29.8510077Z     },
2026-06-16T04:57:29.8510176Z     {
2026-06-16T04:57:29.8510411Z       "id": "REQ-SUBNET-5",
2026-06-16T04:57:29.8511737Z       "title": "Per-subnet serve-state: spt subnet detach <NAME> [--save] / attach <NAME> [--save] — daemon keeps running, stops/starts advertising + connecting for that subnet (peer pump + responder selective); --save persists the startup default in daemon config; the all-attached banner gains per-subnet states (M8 decision 6, --save renamed from --auto per decision 25 session)",
2026-06-16T04:57:29.8511860Z       "requiredStages": [
2026-06-16T04:57:29.8511956Z         "impl",
2026-06-16T04:57:29.8512052Z         "unit",
2026-06-16T04:57:29.8512152Z         "int"
2026-06-16T04:57:29.8512256Z       ],
2026-06-16T04:57:29.8512357Z       "stages": {
2026-06-16T04:57:29.8512456Z         "doc": {
2026-06-16T04:57:29.8512566Z           "complete": false,
2026-06-16T04:57:29.8512682Z           "evidence": []
2026-06-16T04:57:29.8512780Z         },
2026-06-16T04:57:29.8512886Z         "impl": {
2026-06-16T04:57:29.8512992Z           "complete": true,
2026-06-16T04:57:29.8513100Z           "evidence": [
2026-06-16T04:57:29.8513213Z             {
2026-06-16T04:57:29.8513361Z               "path": "crates/spt-daemon/src/daemon.rs",
2026-06-16T04:57:29.8513473Z               "line": 128
2026-06-16T04:57:29.8513569Z             },
2026-06-16T04:57:29.8513675Z             {
2026-06-16T04:57:29.8513822Z               "path": "crates/spt-daemon/src/dispatch.rs",
2026-06-16T04:57:29.8513918Z               "line": 413
2026-06-16T04:57:29.8514018Z             },
2026-06-16T04:57:29.8514122Z             {
2026-06-16T04:57:29.8514266Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8514371Z               "line": 74
2026-06-16T04:57:29.8514470Z             },
2026-06-16T04:57:29.8514571Z             {
2026-06-16T04:57:29.8514718Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.8514823Z               "line": 332
2026-06-16T04:57:29.8514919Z             },
2026-06-16T04:57:29.8515019Z             {
2026-06-16T04:57:29.8515163Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.8515281Z               "line": 621
2026-06-16T04:57:29.8515381Z             },
2026-06-16T04:57:29.8515482Z             {
2026-06-16T04:57:29.8515633Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.8515739Z               "line": 31
2026-06-16T04:57:29.8515840Z             },
2026-06-16T04:57:29.8515943Z             {
2026-06-16T04:57:29.8516085Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.8516201Z               "line": 50
2026-06-16T04:57:29.8516295Z             },
2026-06-16T04:57:29.8516405Z             {
2026-06-16T04:57:29.8516553Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.8516667Z               "line": 69
2026-06-16T04:57:29.8516763Z             },
2026-06-16T04:57:29.8516868Z             {
2026-06-16T04:57:29.8517011Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.8517126Z               "line": 113
2026-06-16T04:57:29.8517230Z             },
2026-06-16T04:57:29.8517330Z             {
2026-06-16T04:57:29.8517483Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T04:57:29.8517588Z               "line": 25
2026-06-16T04:57:29.8517693Z             },
2026-06-16T04:57:29.8517798Z             {
2026-06-16T04:57:29.8517945Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T04:57:29.8518056Z               "line": 34
2026-06-16T04:57:29.8518151Z             },
2026-06-16T04:57:29.8518254Z             {
2026-06-16T04:57:29.8518402Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T04:57:29.8518510Z               "line": 17
2026-06-16T04:57:29.8518614Z             },
2026-06-16T04:57:29.8518715Z             {
2026-06-16T04:57:29.8518838Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8519010Z               "line": 4403
2026-06-16T04:57:29.8519116Z             },
2026-06-16T04:57:29.8519320Z             {
2026-06-16T04:57:29.8519549Z               "path": "crates/spt/src/wansend.rs",
2026-06-16T04:57:29.8519655Z               "line": 419
2026-06-16T04:57:29.8519750Z             }
2026-06-16T04:57:29.8519849Z           ]
2026-06-16T04:57:29.8519950Z         },
2026-06-16T04:57:29.8520055Z         "int": {
2026-06-16T04:57:29.8520169Z           "complete": true,
2026-06-16T04:57:29.8520269Z           "evidence": [
2026-06-16T04:57:29.8520374Z             {
2026-06-16T04:57:29.8520522Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8520623Z               "line": 817
2026-06-16T04:57:29.8520722Z             }
2026-06-16T04:57:29.8520827Z           ]
2026-06-16T04:57:29.8520923Z         },
2026-06-16T04:57:29.8521023Z         "unit": {
2026-06-16T04:57:29.8521135Z           "complete": true,
2026-06-16T04:57:29.8521240Z           "evidence": [
2026-06-16T04:57:29.8521349Z             {
2026-06-16T04:57:29.8521490Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.8521605Z               "line": 341
2026-06-16T04:57:29.8521711Z             },
2026-06-16T04:57:29.8521815Z             {
2026-06-16T04:57:29.8521964Z               "path": "crates/spt-daemon/src/pump/mod.rs",
2026-06-16T04:57:29.8522063Z               "line": 1115
2026-06-16T04:57:29.8522168Z             },
2026-06-16T04:57:29.8522269Z             {
2026-06-16T04:57:29.8522416Z               "path": "crates/spt-daemon/src/serveprobe.rs",
2026-06-16T04:57:29.8522516Z               "line": 151
2026-06-16T04:57:29.8522617Z             },
2026-06-16T04:57:29.8522717Z             {
2026-06-16T04:57:29.8522861Z               "path": "crates/spt-net/src/net/serveprobe.rs",
2026-06-16T04:57:29.8522983Z               "line": 61
2026-06-16T04:57:29.8523083Z             },
2026-06-16T04:57:29.8523185Z             {
2026-06-16T04:57:29.8523331Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T04:57:29.8523432Z               "line": 111
2026-06-16T04:57:29.8523533Z             },
2026-06-16T04:57:29.8523632Z             {
2026-06-16T04:57:29.8523783Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T04:57:29.8523888Z               "line": 138
2026-06-16T04:57:29.8523991Z             },
2026-06-16T04:57:29.8524090Z             {
2026-06-16T04:57:29.8524225Z               "path": "crates/spt-store/src/attachment.rs",
2026-06-16T04:57:29.8524329Z               "line": 148
2026-06-16T04:57:29.8524429Z             },
2026-06-16T04:57:29.8524530Z             {
2026-06-16T04:57:29.8524653Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8524764Z               "line": 8625
2026-06-16T04:57:29.8524868Z             }
2026-06-16T04:57:29.8524973Z           ]
2026-06-16T04:57:29.8525074Z         }
2026-06-16T04:57:29.8525174Z       }
2026-06-16T04:57:29.8525274Z     },
2026-06-16T04:57:29.8525373Z     {
2026-06-16T04:57:29.8525489Z       "id": "REQ-SUBNET-6",
2026-06-16T04:57:29.8526232Z       "title": "Trust lifecycle verbs, elevation-gated: spt subnet leave <NAME> (membership exit) and spt subnet prune <node> (removes a dead identity's trust + registry rows, killing its dead dials; trust mutation = security surface, REQ-PAIR-6 gate machinery) (M8 decisions 6-7)",
2026-06-16T04:57:29.8526358Z       "requiredStages": [
2026-06-16T04:57:29.8526462Z         "impl",
2026-06-16T04:57:29.8526560Z         "unit"
2026-06-16T04:57:29.8526655Z       ],
2026-06-16T04:57:29.8526766Z       "stages": {
2026-06-16T04:57:29.8526865Z         "doc": {
2026-06-16T04:57:29.8526984Z           "complete": false,
2026-06-16T04:57:29.8527090Z           "evidence": []
2026-06-16T04:57:29.8527189Z         },
2026-06-16T04:57:29.8527289Z         "impl": {
2026-06-16T04:57:29.8527404Z           "complete": true,
2026-06-16T04:57:29.8527509Z           "evidence": [
2026-06-16T04:57:29.8527609Z             {
2026-06-16T04:57:29.8527752Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8527856Z               "line": 254
2026-06-16T04:57:29.8528034Z             },
2026-06-16T04:57:29.8528134Z             {
2026-06-16T04:57:29.8528340Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8528453Z               "line": 4061
2026-06-16T04:57:29.8528553Z             },
2026-06-16T04:57:29.8528660Z             {
2026-06-16T04:57:29.8528782Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8528895Z               "line": 4078
2026-06-16T04:57:29.8529070Z             },
2026-06-16T04:57:29.8529174Z             {
2026-06-16T04:57:29.8529294Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8529394Z               "line": 4131
2026-06-16T04:57:29.8529498Z             },
2026-06-16T04:57:29.8529594Z             {
2026-06-16T04:57:29.8529723Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8529818Z               "line": 4154
2026-06-16T04:57:29.8529924Z             }
2026-06-16T04:57:29.8530024Z           ]
2026-06-16T04:57:29.8530123Z         },
2026-06-16T04:57:29.8530234Z         "int": {
2026-06-16T04:57:29.8530352Z           "complete": false,
2026-06-16T04:57:29.8530471Z           "evidence": []
2026-06-16T04:57:29.8530568Z         },
2026-06-16T04:57:29.8530667Z         "unit": {
2026-06-16T04:57:29.8530781Z           "complete": true,
2026-06-16T04:57:29.8530887Z           "evidence": [
2026-06-16T04:57:29.8530986Z             {
2026-06-16T04:57:29.8531105Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8531207Z               "line": 8639
2026-06-16T04:57:29.8531310Z             },
2026-06-16T04:57:29.8531415Z             {
2026-06-16T04:57:29.8531545Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8531644Z               "line": 8672
2026-06-16T04:57:29.8531748Z             },
2026-06-16T04:57:29.8531849Z             {
2026-06-16T04:57:29.8531975Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8532074Z               "line": 8681
2026-06-16T04:57:29.8532175Z             }
2026-06-16T04:57:29.8532280Z           ]
2026-06-16T04:57:29.8532379Z         }
2026-06-16T04:57:29.8532481Z       }
2026-06-16T04:57:29.8532586Z     },
2026-06-16T04:57:29.8532689Z     {
2026-06-16T04:57:29.8532791Z       "id": "REQ-SUBNET-7",
2026-06-16T04:57:29.8534458Z       "title": "Per-machine re-pair trust overwrite: registry rows carry a hashed stable machine identifier (OS machine id /etc/machine-id|MachineGuid, domain-separated SHA-256 before gossip, spt-minted persisted UUID fallback; additive serde-default field — old rows parse clean); a COMPLETED pairing ceremony presenting the same node label AND machine id as an existing trusted row evicts the superseded identity's trust + registry rows on the seed-holder and replicates the eviction; a gossiped claim alone never evicts trust (M8 decisions 13, 22)",
2026-06-16T04:57:29.8534584Z       "requiredStages": [
2026-06-16T04:57:29.8534680Z         "impl",
2026-06-16T04:57:29.8534790Z         "unit"
2026-06-16T04:57:29.8534889Z       ],
2026-06-16T04:57:29.8534994Z       "stages": {
2026-06-16T04:57:29.8535095Z         "doc": {
2026-06-16T04:57:29.8535214Z           "complete": false,
2026-06-16T04:57:29.8535324Z           "evidence": []
2026-06-16T04:57:29.8535429Z         },
2026-06-16T04:57:29.8535533Z         "impl": {
2026-06-16T04:57:29.8535649Z           "complete": true,
2026-06-16T04:57:29.8535749Z           "evidence": [
2026-06-16T04:57:29.8535848Z             {
2026-06-16T04:57:29.8535997Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T04:57:29.8536110Z               "line": 17
2026-06-16T04:57:29.8536215Z             },
2026-06-16T04:57:29.8536321Z             {
2026-06-16T04:57:29.8536473Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8536583Z               "line": 103
2026-06-16T04:57:29.8536688Z             },
2026-06-16T04:57:29.8536792Z             {
2026-06-16T04:57:29.8536937Z               "path": "crates/spt-daemon/src/pairhost.rs",
2026-06-16T04:57:29.8537041Z               "line": 312
2026-06-16T04:57:29.8537149Z             },
2026-06-16T04:57:29.8537350Z             {
2026-06-16T04:57:29.8537592Z               "path": "crates/spt-daemon/src/pump/registry.rs",
2026-06-16T04:57:29.8537703Z               "line": 131
2026-06-16T04:57:29.8537802Z             },
2026-06-16T04:57:29.8537908Z             {
2026-06-16T04:57:29.8538060Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8538164Z               "line": 160
2026-06-16T04:57:29.8538266Z             },
2026-06-16T04:57:29.8538365Z             {
2026-06-16T04:57:29.8538523Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8538618Z               "line": 441
2026-06-16T04:57:29.8538717Z             },
2026-06-16T04:57:29.8538818Z             {
2026-06-16T04:57:29.8539046Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8539152Z               "line": 618
2026-06-16T04:57:29.8539257Z             },
2026-06-16T04:57:29.8539356Z             {
2026-06-16T04:57:29.8539498Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8539621Z               "line": 658
2026-06-16T04:57:29.8539725Z             },
2026-06-16T04:57:29.8539830Z             {
2026-06-16T04:57:29.8539978Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8540077Z               "line": 714
2026-06-16T04:57:29.8540179Z             },
2026-06-16T04:57:29.8540278Z             {
2026-06-16T04:57:29.8540436Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8540550Z               "line": 136
2026-06-16T04:57:29.8540650Z             },
2026-06-16T04:57:29.8540746Z             {
2026-06-16T04:57:29.8540884Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8540998Z               "line": 139
2026-06-16T04:57:29.8541094Z             }
2026-06-16T04:57:29.8541203Z           ]
2026-06-16T04:57:29.8541303Z         },
2026-06-16T04:57:29.8541409Z         "int": {
2026-06-16T04:57:29.8541527Z           "complete": false,
2026-06-16T04:57:29.8541632Z           "evidence": []
2026-06-16T04:57:29.8541738Z         },
2026-06-16T04:57:29.8541842Z         "unit": {
2026-06-16T04:57:29.8541966Z           "complete": true,
2026-06-16T04:57:29.8542068Z           "evidence": [
2026-06-16T04:57:29.8542171Z             {
2026-06-16T04:57:29.8542322Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T04:57:29.8542428Z               "line": 136
2026-06-16T04:57:29.8542525Z             },
2026-06-16T04:57:29.8542630Z             {
2026-06-16T04:57:29.8542769Z               "path": "crates/spt-daemon/src/machineid.rs",
2026-06-16T04:57:29.8542883Z               "line": 156
2026-06-16T04:57:29.8542983Z             },
2026-06-16T04:57:29.8543089Z             {
2026-06-16T04:57:29.8543236Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8543347Z               "line": 935
2026-06-16T04:57:29.8543437Z             },
2026-06-16T04:57:29.8543536Z             {
2026-06-16T04:57:29.8543690Z               "path": "crates/spt-daemon/src/registryhost.rs",
2026-06-16T04:57:29.8543808Z               "line": 957
2026-06-16T04:57:29.8543908Z             },
2026-06-16T04:57:29.8544009Z             {
2026-06-16T04:57:29.8544161Z               "path": "crates/spt-net/src/net/pairing/wire.rs",
2026-06-16T04:57:29.8544266Z               "line": 1419
2026-06-16T04:57:29.8544367Z             },
2026-06-16T04:57:29.8544466Z             {
2026-06-16T04:57:29.8544610Z               "path": "crates/spt-net/src/net/registry.rs",
2026-06-16T04:57:29.8544724Z               "line": 1004
2026-06-16T04:57:29.8544827Z             }
2026-06-16T04:57:29.8544927Z           ]
2026-06-16T04:57:29.8545027Z         }
2026-06-16T04:57:29.8545135Z       }
2026-06-16T04:57:29.8545230Z     },
2026-06-16T04:57:29.8545332Z     {
2026-06-16T04:57:29.8545454Z       "id": "REQ-SUBNET-8",
2026-06-16T04:57:29.8546566Z       "title": "Status render honesty: zero-subnet text is daemon-aware ('No subnets registered — this node is standalone.' + daemon-running-dependent blurb, never implying messaging works while the daemon is down); hint footer prints on bare spt subnet only (status drops it); a stalled pump is surfaced in subnet status, never rendered implied-healthy (M8 decisions 11-12, 23)",
2026-06-16T04:57:29.8546891Z       "requiredStages": [
2026-06-16T04:57:29.8546994Z         "impl",
2026-06-16T04:57:29.8547099Z         "unit"
2026-06-16T04:57:29.8547201Z       ],
2026-06-16T04:57:29.8547309Z       "stages": {
2026-06-16T04:57:29.8547414Z         "doc": {
2026-06-16T04:57:29.8547516Z           "complete": false,
2026-06-16T04:57:29.8547619Z           "evidence": []
2026-06-16T04:57:29.8547723Z         },
2026-06-16T04:57:29.8547824Z         "impl": {
2026-06-16T04:57:29.8547939Z           "complete": true,
2026-06-16T04:57:29.8548047Z           "evidence": [
2026-06-16T04:57:29.8548152Z             {
2026-06-16T04:57:29.8548282Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8548386Z               "line": 3428
2026-06-16T04:57:29.8548492Z             },
2026-06-16T04:57:29.8548597Z             {
2026-06-16T04:57:29.8548729Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8548826Z               "line": 3457
2026-06-16T04:57:29.8548930Z             },
2026-06-16T04:57:29.8549102Z             {
2026-06-16T04:57:29.8549225Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8549339Z               "line": 3474
2026-06-16T04:57:29.8549441Z             },
2026-06-16T04:57:29.8549540Z             {
2026-06-16T04:57:29.8549664Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8549780Z               "line": 3497
2026-06-16T04:57:29.8549868Z             },
2026-06-16T04:57:29.8549973Z             {
2026-06-16T04:57:29.8550102Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8550209Z               "line": 3911
2026-06-16T04:57:29.8550313Z             }
2026-06-16T04:57:29.8550414Z           ]
2026-06-16T04:57:29.8550524Z         },
2026-06-16T04:57:29.8550619Z         "int": {
2026-06-16T04:57:29.8550734Z           "complete": false,
2026-06-16T04:57:29.8550853Z           "evidence": []
2026-06-16T04:57:29.8550952Z         },
2026-06-16T04:57:29.8551059Z         "unit": {
2026-06-16T04:57:29.8551163Z           "complete": true,
2026-06-16T04:57:29.8551267Z           "evidence": [
2026-06-16T04:57:29.8551369Z             {
2026-06-16T04:57:29.8551492Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8551591Z               "line": 8829
2026-06-16T04:57:29.8551688Z             },
2026-06-16T04:57:29.8551787Z             {
2026-06-16T04:57:29.8551906Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8552008Z               "line": 8845
2026-06-16T04:57:29.8552111Z             }
2026-06-16T04:57:29.8552216Z           ]
2026-06-16T04:57:29.8552318Z         }
2026-06-16T04:57:29.8552421Z       }
2026-06-16T04:57:29.8552522Z     },
2026-06-16T04:57:29.8552623Z     {
2026-06-16T04:57:29.8552736Z       "id": "REQ-TERM-1",
2026-06-16T04:57:29.8552935Z       "title": "Process-supervisor terminal wrapper hosting broker PTYs",
2026-06-16T04:57:29.8553057Z       "requiredStages": [
2026-06-16T04:57:29.8553162Z         "impl",
2026-06-16T04:57:29.8553262Z         "unit"
2026-06-16T04:57:29.8553363Z       ],
2026-06-16T04:57:29.8553467Z       "stages": {
2026-06-16T04:57:29.8553572Z         "doc": {
2026-06-16T04:57:29.8553687Z           "complete": false,
2026-06-16T04:57:29.8553791Z           "evidence": []
2026-06-16T04:57:29.8553897Z         },
2026-06-16T04:57:29.8553997Z         "impl": {
2026-06-16T04:57:29.8554115Z           "complete": true,
2026-06-16T04:57:29.8554221Z           "evidence": [
2026-06-16T04:57:29.8554325Z             {
2026-06-16T04:57:29.8554459Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T04:57:29.8554565Z               "line": 59
2026-06-16T04:57:29.8554664Z             },
2026-06-16T04:57:29.8554764Z             {
2026-06-16T04:57:29.8554894Z               "path": "crates/spt-term/src/pty.rs",
2026-06-16T04:57:29.8555107Z               "line": 195
2026-06-16T04:57:29.8555303Z             },
2026-06-16T04:57:29.8555406Z             {
2026-06-16T04:57:29.8555549Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T04:57:29.8555662Z               "line": 100
2026-06-16T04:57:29.8555761Z             }
2026-06-16T04:57:29.8555857Z           ]
2026-06-16T04:57:29.8555967Z         },
2026-06-16T04:57:29.8556071Z         "int": {
2026-06-16T04:57:29.8556182Z           "complete": false,
2026-06-16T04:57:29.8556282Z           "evidence": []
2026-06-16T04:57:29.8556386Z         },
2026-06-16T04:57:29.8556487Z         "unit": {
2026-06-16T04:57:29.8556601Z           "complete": true,
2026-06-16T04:57:29.8556705Z           "evidence": [
2026-06-16T04:57:29.8556807Z             {
2026-06-16T04:57:29.8556945Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T04:57:29.8557049Z               "line": 24
2026-06-16T04:57:29.8557155Z             },
2026-06-16T04:57:29.8557255Z             {
2026-06-16T04:57:29.8557408Z               "path": "crates/spt-term/tests/surface.rs",
2026-06-16T04:57:29.8557517Z               "line": 56
2026-06-16T04:57:29.8557612Z             }
2026-06-16T04:57:29.8557708Z           ]
2026-06-16T04:57:29.8557813Z         }
2026-06-16T04:57:29.8557917Z       }
2026-06-16T04:57:29.8558018Z     },
2026-06-16T04:57:29.8558119Z     {
2026-06-16T04:57:29.8558231Z       "id": "REQ-TERM-2",
2026-06-16T04:57:29.8558437Z       "title": "session-surface abstraction; send-keys + send-line injection",
2026-06-16T04:57:29.8558551Z       "requiredStages": [
2026-06-16T04:57:29.8558655Z         "impl",
2026-06-16T04:57:29.8558756Z         "unit"
2026-06-16T04:57:29.8558847Z       ],
2026-06-16T04:57:29.8559019Z       "stages": {
2026-06-16T04:57:29.8559118Z         "doc": {
2026-06-16T04:57:29.8559236Z           "complete": false,
2026-06-16T04:57:29.8559338Z           "evidence": []
2026-06-16T04:57:29.8559442Z         },
2026-06-16T04:57:29.8559542Z         "impl": {
2026-06-16T04:57:29.8559658Z           "complete": true,
2026-06-16T04:57:29.8559776Z           "evidence": [
2026-06-16T04:57:29.8559866Z             {
2026-06-16T04:57:29.8560010Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T04:57:29.8560109Z               "line": 117
2026-06-16T04:57:29.8560209Z             },
2026-06-16T04:57:29.8560316Z             {
2026-06-16T04:57:29.8560443Z               "path": "crates/spt-term/src/surface.rs",
2026-06-16T04:57:29.8560561Z               "line": 127
2026-06-16T04:57:29.8560662Z             }
2026-06-16T04:57:29.8560769Z           ]
2026-06-16T04:57:29.8560869Z         },
2026-06-16T04:57:29.8560974Z         "int": {
2026-06-16T04:57:29.8561089Z           "complete": false,
2026-06-16T04:57:29.8561188Z           "evidence": []
2026-06-16T04:57:29.8561299Z         },
2026-06-16T04:57:29.8561399Z         "unit": {
2026-06-16T04:57:29.8561513Z           "complete": true,
2026-06-16T04:57:29.8561619Z           "evidence": [
2026-06-16T04:57:29.8561728Z             {
2026-06-16T04:57:29.8561876Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-16T04:57:29.8561981Z               "line": 46
2026-06-16T04:57:29.8562080Z             },
2026-06-16T04:57:29.8562180Z             {
2026-06-16T04:57:29.8562328Z               "path": "crates/spt-term/tests/inject.rs",
2026-06-16T04:57:29.8562428Z               "line": 77
2026-06-16T04:57:29.8562534Z             }
2026-06-16T04:57:29.8562638Z           ]
2026-06-16T04:57:29.8562738Z         }
2026-06-16T04:57:29.8562844Z       }
2026-06-16T04:57:29.8562939Z     },
2026-06-16T04:57:29.8563039Z     {
2026-06-16T04:57:29.8563145Z       "id": "REQ-TERM-3",
2026-06-16T04:57:29.8563315Z       "title": "Byte-stream remote terminal streaming for v1",
2026-06-16T04:57:29.8563428Z       "requiredStages": [
2026-06-16T04:57:29.8563534Z         "impl",
2026-06-16T04:57:29.8563636Z         "unit"
2026-06-16T04:57:29.8563736Z       ],
2026-06-16T04:57:29.8563841Z       "stages": {
2026-06-16T04:57:29.8563937Z         "doc": {
2026-06-16T04:57:29.8564157Z           "complete": false,
2026-06-16T04:57:29.8564361Z           "evidence": []
2026-06-16T04:57:29.8564457Z         },
2026-06-16T04:57:29.8564557Z         "impl": {
2026-06-16T04:57:29.8564661Z           "complete": true,
2026-06-16T04:57:29.8564771Z           "evidence": [
2026-06-16T04:57:29.8564871Z             {
2026-06-16T04:57:29.8565014Z               "path": "crates/spt-term/src/stream.rs",
2026-06-16T04:57:29.8565130Z               "line": 71
2026-06-16T04:57:29.8565229Z             }
2026-06-16T04:57:29.8565329Z           ]
2026-06-16T04:57:29.8565430Z         },
2026-06-16T04:57:29.8565538Z         "int": {
2026-06-16T04:57:29.8565644Z           "complete": false,
2026-06-16T04:57:29.8565760Z           "evidence": []
2026-06-16T04:57:29.8565858Z         },
2026-06-16T04:57:29.8565952Z         "unit": {
2026-06-16T04:57:29.8566057Z           "complete": true,
2026-06-16T04:57:29.8566166Z           "evidence": [
2026-06-16T04:57:29.8568934Z             {
2026-06-16T04:57:29.8569225Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-16T04:57:29.8569345Z               "line": 37
2026-06-16T04:57:29.8569449Z             },
2026-06-16T04:57:29.8569554Z             {
2026-06-16T04:57:29.8569707Z               "path": "crates/spt-term/tests/stream.rs",
2026-06-16T04:57:29.8569806Z               "line": 67
2026-06-16T04:57:29.8569908Z             }
2026-06-16T04:57:29.8570007Z           ]
2026-06-16T04:57:29.8570107Z         }
2026-06-16T04:57:29.8570213Z       }
2026-06-16T04:57:29.8570313Z     },
2026-06-16T04:57:29.8570412Z     {
2026-06-16T04:57:29.8570523Z       "id": "REQ-TERM-4",
2026-06-16T04:57:29.8571050Z       "title": "Live activity buffer (session digest): projection of normalized session logs, snapshot-pull (spt endpoint digest) + structured-delta-stream contract + api digest-entry push",
2026-06-16T04:57:29.8571169Z       "requiredStages": [
2026-06-16T04:57:29.8571278Z         "impl",
2026-06-16T04:57:29.8571377Z         "unit",
2026-06-16T04:57:29.8571477Z         "int"
2026-06-16T04:57:29.8571587Z       ],
2026-06-16T04:57:29.8571691Z       "stages": {
2026-06-16T04:57:29.8571791Z         "doc": {
2026-06-16T04:57:29.8571906Z           "complete": false,
2026-06-16T04:57:29.8572020Z           "evidence": []
2026-06-16T04:57:29.8572126Z         },
2026-06-16T04:57:29.8572226Z         "impl": {
2026-06-16T04:57:29.8572340Z           "complete": true,
2026-06-16T04:57:29.8572441Z           "evidence": [
2026-06-16T04:57:29.8572541Z             {
2026-06-16T04:57:29.8572687Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8572794Z               "line": 37
2026-06-16T04:57:29.8572898Z             },
2026-06-16T04:57:29.8573002Z             {
2026-06-16T04:57:29.8573161Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8573265Z               "line": 25
2026-06-16T04:57:29.8573370Z             },
2026-06-16T04:57:29.8573466Z             {
2026-06-16T04:57:29.8573618Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8573738Z               "line": 114
2026-06-16T04:57:29.8573838Z             },
2026-06-16T04:57:29.8573946Z             {
2026-06-16T04:57:29.8574084Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8574192Z               "line": 267
2026-06-16T04:57:29.8574296Z             },
2026-06-16T04:57:29.8574401Z             {
2026-06-16T04:57:29.8574549Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8574649Z               "line": 289
2026-06-16T04:57:29.8574755Z             },
2026-06-16T04:57:29.8574855Z             {
2026-06-16T04:57:29.8574998Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8575098Z               "line": 307
2026-06-16T04:57:29.8575197Z             },
2026-06-16T04:57:29.8575298Z             {
2026-06-16T04:57:29.8575431Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.8575541Z               "line": 33
2026-06-16T04:57:29.8575774Z             },
2026-06-16T04:57:29.8575879Z             {
2026-06-16T04:57:29.8576141Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8576242Z               "line": 52
2026-06-16T04:57:29.8576348Z             },
2026-06-16T04:57:29.8576451Z             {
2026-06-16T04:57:29.8576598Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8576712Z               "line": 180
2026-06-16T04:57:29.8576820Z             },
2026-06-16T04:57:29.8576930Z             {
2026-06-16T04:57:29.8577069Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8577173Z               "line": 190
2026-06-16T04:57:29.8577274Z             },
2026-06-16T04:57:29.8577379Z             {
2026-06-16T04:57:29.8577521Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8577627Z               "line": 250
2026-06-16T04:57:29.8577731Z             },
2026-06-16T04:57:29.8577831Z             {
2026-06-16T04:57:29.8577974Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8578093Z               "line": 280
2026-06-16T04:57:29.8578194Z             },
2026-06-16T04:57:29.8578289Z             {
2026-06-16T04:57:29.8578432Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8578533Z               "line": 291
2026-06-16T04:57:29.8578632Z             },
2026-06-16T04:57:29.8578737Z             {
2026-06-16T04:57:29.8578862Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8579037Z               "line": 1123
2026-06-16T04:57:29.8579134Z             }
2026-06-16T04:57:29.8579229Z           ]
2026-06-16T04:57:29.8579337Z         },
2026-06-16T04:57:29.8579436Z         "int": {
2026-06-16T04:57:29.8579547Z           "complete": true,
2026-06-16T04:57:29.8579652Z           "evidence": [
2026-06-16T04:57:29.8579756Z             {
2026-06-16T04:57:29.8579900Z               "path": "crates/spt-daemon/tests/digest.rs",
2026-06-16T04:57:29.8580004Z               "line": 18
2026-06-16T04:57:29.8580119Z             }
2026-06-16T04:57:29.8580219Z           ]
2026-06-16T04:57:29.8580324Z         },
2026-06-16T04:57:29.8580424Z         "unit": {
2026-06-16T04:57:29.8580544Z           "complete": true,
2026-06-16T04:57:29.8580643Z           "evidence": [
2026-06-16T04:57:29.8580744Z             {
2026-06-16T04:57:29.8580887Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8580992Z               "line": 349
2026-06-16T04:57:29.8581093Z             },
2026-06-16T04:57:29.8581192Z             {
2026-06-16T04:57:29.8581334Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8581441Z               "line": 401
2026-06-16T04:57:29.8581544Z             },
2026-06-16T04:57:29.8581648Z             {
2026-06-16T04:57:29.8581782Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8581894Z               "line": 411
2026-06-16T04:57:29.8581994Z             },
2026-06-16T04:57:29.8582094Z             {
2026-06-16T04:57:29.8582238Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8582351Z               "line": 436
2026-06-16T04:57:29.8582448Z             },
2026-06-16T04:57:29.8582548Z             {
2026-06-16T04:57:29.8582686Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8582791Z               "line": 456
2026-06-16T04:57:29.8582895Z             },
2026-06-16T04:57:29.8582996Z             {
2026-06-16T04:57:29.8583125Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8583238Z               "line": 478
2026-06-16T04:57:29.8583335Z             },
2026-06-16T04:57:29.8583434Z             {
2026-06-16T04:57:29.8583577Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8583683Z               "line": 491
2026-06-16T04:57:29.8583787Z             },
2026-06-16T04:57:29.8583887Z             {
2026-06-16T04:57:29.8584031Z               "path": "crates/spt-daemon/src/digesthub.rs",
2026-06-16T04:57:29.8584134Z               "line": 502
2026-06-16T04:57:29.8584327Z             },
2026-06-16T04:57:29.8584520Z             {
2026-06-16T04:57:29.8584668Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.8584771Z               "line": 108
2026-06-16T04:57:29.8584871Z             },
2026-06-16T04:57:29.8584976Z             {
2026-06-16T04:57:29.8585109Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T04:57:29.8585223Z               "line": 119
2026-06-16T04:57:29.8585325Z             },
2026-06-16T04:57:29.8585434Z             {
2026-06-16T04:57:29.8585573Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T04:57:29.8585681Z               "line": 127
2026-06-16T04:57:29.8585786Z             },
2026-06-16T04:57:29.8585887Z             {
2026-06-16T04:57:29.8586029Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8586139Z               "line": 474
2026-06-16T04:57:29.8586236Z             },
2026-06-16T04:57:29.8586344Z             {
2026-06-16T04:57:29.8586497Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8586608Z               "line": 501
2026-06-16T04:57:29.8586701Z             },
2026-06-16T04:57:29.8586807Z             {
2026-06-16T04:57:29.8586950Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8587054Z               "line": 520
2026-06-16T04:57:29.8587159Z             },
2026-06-16T04:57:29.8587258Z             {
2026-06-16T04:57:29.8587404Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8587519Z               "line": 535
2026-06-16T04:57:29.8587620Z             },
2026-06-16T04:57:29.8587719Z             {
2026-06-16T04:57:29.8587863Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8587967Z               "line": 561
2026-06-16T04:57:29.8588067Z             },
2026-06-16T04:57:29.8588168Z             {
2026-06-16T04:57:29.8588310Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8588420Z               "line": 581
2026-06-16T04:57:29.8588530Z             },
2026-06-16T04:57:29.8588630Z             {
2026-06-16T04:57:29.8588768Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8588868Z               "line": 591
2026-06-16T04:57:29.8589049Z             },
2026-06-16T04:57:29.8589151Z             {
2026-06-16T04:57:29.8589292Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8589408Z               "line": 683
2026-06-16T04:57:29.8589503Z             },
2026-06-16T04:57:29.8589607Z             {
2026-06-16T04:57:29.8589747Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8589859Z               "line": 881
2026-06-16T04:57:29.8589954Z             },
2026-06-16T04:57:29.8590049Z             {
2026-06-16T04:57:29.8590184Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8590283Z               "line": 8396
2026-06-16T04:57:29.8590384Z             }
2026-06-16T04:57:29.8590479Z           ]
2026-06-16T04:57:29.8590583Z         }
2026-06-16T04:57:29.8590679Z       }
2026-06-16T04:57:29.8590779Z     },
2026-06-16T04:57:29.8590884Z     {
2026-06-16T04:57:29.8590994Z       "id": "REQ-TERM-5",
2026-06-16T04:57:29.8592592Z       "title": "Adapter-declared digest extractor seam: a `[digest]` manifest section declaring an imperative extractor (native harness log -> the {role,text,tool,ts} contract; defaults to the [history] source files with an own-source escape hatch), `api digest-entry` push fallback, register-time validation of the section, adapter-declared presentation defaults (window depth, arg-truncation, sprint-collapse) that any consumer may override, and a `spt adapter digest-proof` author tool plus runtime skip-diagnostics (no silent drop). Reverses M9's no-manifest-seam stance; no declarative DSL.",
2026-06-16T04:57:29.8592712Z       "requiredStages": [
2026-06-16T04:57:29.8592812Z         "doc",
2026-06-16T04:57:29.8592941Z         "impl",
2026-06-16T04:57:29.8593051Z         "unit",
2026-06-16T04:57:29.8593318Z         "int"
2026-06-16T04:57:29.8593507Z       ],
2026-06-16T04:57:29.8593609Z       "stages": {
2026-06-16T04:57:29.8593718Z         "doc": {
2026-06-16T04:57:29.8593851Z           "complete": true,
2026-06-16T04:57:29.8593962Z           "evidence": [
2026-06-16T04:57:29.8594057Z             {
2026-06-16T04:57:29.8594185Z               "path": "docs/MANIFEST.md",
2026-06-16T04:57:29.8594300Z               "line": 167
2026-06-16T04:57:29.8594410Z             }
2026-06-16T04:57:29.8594510Z           ]
2026-06-16T04:57:29.8594620Z         },
2026-06-16T04:57:29.8594734Z         "impl": {
2026-06-16T04:57:29.8594869Z           "complete": true,
2026-06-16T04:57:29.8594995Z           "evidence": [
2026-06-16T04:57:29.8595094Z             {
2026-06-16T04:57:29.8595242Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8595355Z               "line": 75
2026-06-16T04:57:29.8595454Z             },
2026-06-16T04:57:29.8595561Z             {
2026-06-16T04:57:29.8595702Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8595827Z               "line": 131
2026-06-16T04:57:29.8595932Z             },
2026-06-16T04:57:29.8596036Z             {
2026-06-16T04:57:29.8596176Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8596285Z               "line": 22
2026-06-16T04:57:29.8596389Z             },
2026-06-16T04:57:29.8596490Z             {
2026-06-16T04:57:29.8596633Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8596737Z               "line": 81
2026-06-16T04:57:29.8596843Z             },
2026-06-16T04:57:29.8596947Z             {
2026-06-16T04:57:29.8597082Z               "path": "crates/spt-term/src/digest.rs",
2026-06-16T04:57:29.8597191Z               "line": 30
2026-06-16T04:57:29.8597286Z             },
2026-06-16T04:57:29.8597387Z             {
2026-06-16T04:57:29.8597534Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8597661Z               "line": 103
2026-06-16T04:57:29.8597766Z             },
2026-06-16T04:57:29.8597861Z             {
2026-06-16T04:57:29.8598026Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8598151Z               "line": 167
2026-06-16T04:57:29.8598250Z             },
2026-06-16T04:57:29.8598346Z             {
2026-06-16T04:57:29.8598479Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8598588Z               "line": 434
2026-06-16T04:57:29.8598690Z             },
2026-06-16T04:57:29.8598794Z             {
2026-06-16T04:57:29.8598922Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8599118Z               "line": 5107
2026-06-16T04:57:29.8599218Z             },
2026-06-16T04:57:29.8599329Z             {
2026-06-16T04:57:29.8599466Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8599571Z               "line": 5143
2026-06-16T04:57:29.8599677Z             }
2026-06-16T04:57:29.8599781Z           ]
2026-06-16T04:57:29.8599876Z         },
2026-06-16T04:57:29.8599977Z         "int": {
2026-06-16T04:57:29.8600095Z           "complete": true,
2026-06-16T04:57:29.8600191Z           "evidence": [
2026-06-16T04:57:29.8600288Z             {
2026-06-16T04:57:29.8600457Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T04:57:29.8600566Z               "line": 17
2026-06-16T04:57:29.8600667Z             }
2026-06-16T04:57:29.8600767Z           ]
2026-06-16T04:57:29.8600871Z         },
2026-06-16T04:57:29.8600973Z         "unit": {
2026-06-16T04:57:29.8601077Z           "complete": true,
2026-06-16T04:57:29.8601186Z           "evidence": [
2026-06-16T04:57:29.8601283Z             {
2026-06-16T04:57:29.8601425Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8601530Z               "line": 360
2026-06-16T04:57:29.8601636Z             },
2026-06-16T04:57:29.8601740Z             {
2026-06-16T04:57:29.8601874Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8601974Z               "line": 153
2026-06-16T04:57:29.8602242Z             },
2026-06-16T04:57:29.8602421Z             {
2026-06-16T04:57:29.8602557Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8602669Z               "line": 169
2026-06-16T04:57:29.8602778Z             },
2026-06-16T04:57:29.8602883Z             {
2026-06-16T04:57:29.8603019Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8603123Z               "line": 191
2026-06-16T04:57:29.8603224Z             },
2026-06-16T04:57:29.8603324Z             {
2026-06-16T04:57:29.8603458Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8603568Z               "line": 202
2026-06-16T04:57:29.8603672Z             },
2026-06-16T04:57:29.8603772Z             {
2026-06-16T04:57:29.8603906Z               "path": "crates/spt-live/src/digest.rs",
2026-06-16T04:57:29.8604015Z               "line": 213
2026-06-16T04:57:29.8604116Z             },
2026-06-16T04:57:29.8604216Z             {
2026-06-16T04:57:29.8604364Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8604479Z               "line": 1244
2026-06-16T04:57:29.8604583Z             },
2026-06-16T04:57:29.8604683Z             {
2026-06-16T04:57:29.8604827Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8604940Z               "line": 1287
2026-06-16T04:57:29.8605036Z             },
2026-06-16T04:57:29.8605142Z             {
2026-06-16T04:57:29.8605279Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8605394Z               "line": 606
2026-06-16T04:57:29.8605490Z             },
2026-06-16T04:57:29.8605593Z             {
2026-06-16T04:57:29.8605741Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8605844Z               "line": 634
2026-06-16T04:57:29.8605952Z             },
2026-06-16T04:57:29.8606053Z             {
2026-06-16T04:57:29.8606197Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8606305Z               "line": 646
2026-06-16T04:57:29.8606416Z             },
2026-06-16T04:57:29.8606521Z             {
2026-06-16T04:57:29.8606659Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8606769Z               "line": 669
2026-06-16T04:57:29.8606873Z             },
2026-06-16T04:57:29.8606974Z             {
2026-06-16T04:57:29.8607103Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8607212Z               "line": 7145
2026-06-16T04:57:29.8607312Z             },
2026-06-16T04:57:29.8607418Z             {
2026-06-16T04:57:29.8607541Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8607642Z               "line": 7203
2026-06-16T04:57:29.8607747Z             }
2026-06-16T04:57:29.8607846Z           ]
2026-06-16T04:57:29.8607947Z         }
2026-06-16T04:57:29.8608047Z       }
2026-06-16T04:57:29.8608145Z     },
2026-06-16T04:57:29.8608250Z     {
2026-06-16T04:57:29.8608360Z       "id": "REQ-TERM-6",
2026-06-16T04:57:29.8609660Z       "title": "Thread-spanning digest across session boundaries: a per-endpoint session ledger (`<perch>/sessions.log`) appended at first bind and by `api boundary` on `/clear`|`/compact` session rotation, the digest enumerating the last K sessions so its rolling window bridges a boundary, and a distinctive in-timeline boundary marker (DigestEntry::Boundary). The digest follows the live-agent thread, not a single session.",
2026-06-16T04:57:29.8609797Z       "requiredStages": [
2026-06-16T04:57:29.8609899Z         "impl",
2026-06-16T04:57:29.8610003Z         "unit",
2026-06-16T04:57:29.8610107Z         "int"
2026-06-16T04:57:29.8610209Z       ],
2026-06-16T04:57:29.8610318Z       "stages": {
2026-06-16T04:57:29.8610417Z         "doc": {
2026-06-16T04:57:29.8610538Z           "complete": false,
2026-06-16T04:57:29.8610651Z           "evidence": []
2026-06-16T04:57:29.8610751Z         },
2026-06-16T04:57:29.8610857Z         "impl": {
2026-06-16T04:57:29.8610976Z           "complete": true,
2026-06-16T04:57:29.8611089Z           "evidence": [
2026-06-16T04:57:29.8611286Z             {
2026-06-16T04:57:29.8611548Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8611652Z               "line": 132
2026-06-16T04:57:29.8611761Z             },
2026-06-16T04:57:29.8611858Z             {
2026-06-16T04:57:29.8611999Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8612105Z               "line": 176
2026-06-16T04:57:29.8612210Z             },
2026-06-16T04:57:29.8612309Z             {
2026-06-16T04:57:29.8612448Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8612548Z               "line": 17
2026-06-16T04:57:29.8612652Z             },
2026-06-16T04:57:29.8612759Z             {
2026-06-16T04:57:29.8612905Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8613010Z               "line": 96
2026-06-16T04:57:29.8613112Z             },
2026-06-16T04:57:29.8613210Z             {
2026-06-16T04:57:29.8613362Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8613472Z               "line": 319
2026-06-16T04:57:29.8613579Z             },
2026-06-16T04:57:29.8613679Z             {
2026-06-16T04:57:29.8613818Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8613932Z               "line": 396
2026-06-16T04:57:29.8614032Z             }
2026-06-16T04:57:29.8614133Z           ]
2026-06-16T04:57:29.8614232Z         },
2026-06-16T04:57:29.8614347Z         "int": {
2026-06-16T04:57:29.8614462Z           "complete": true,
2026-06-16T04:57:29.8614561Z           "evidence": [
2026-06-16T04:57:29.8614662Z             {
2026-06-16T04:57:29.8614834Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T04:57:29.8614947Z               "line": 18
2026-06-16T04:57:29.8615049Z             }
2026-06-16T04:57:29.8615153Z           ]
2026-06-16T04:57:29.8615258Z         },
2026-06-16T04:57:29.8615364Z         "unit": {
2026-06-16T04:57:29.8615481Z           "complete": true,
2026-06-16T04:57:29.8615577Z           "evidence": [
2026-06-16T04:57:29.8615684Z             {
2026-06-16T04:57:29.8615825Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8615931Z               "line": 126
2026-06-16T04:57:29.8616041Z             },
2026-06-16T04:57:29.8616144Z             {
2026-06-16T04:57:29.8616291Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8616400Z               "line": 141
2026-06-16T04:57:29.8616504Z             },
2026-06-16T04:57:29.8616604Z             {
2026-06-16T04:57:29.8616738Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8616846Z               "line": 157
2026-06-16T04:57:29.8616948Z             },
2026-06-16T04:57:29.8617052Z             {
2026-06-16T04:57:29.8617194Z               "path": "crates/spt-store/src/sessions.rs",
2026-06-16T04:57:29.8617310Z               "line": 175
2026-06-16T04:57:29.8617410Z             },
2026-06-16T04:57:29.8617514Z             {
2026-06-16T04:57:29.8617658Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8617772Z               "line": 738
2026-06-16T04:57:29.8617877Z             },
2026-06-16T04:57:29.8617978Z             {
2026-06-16T04:57:29.8618120Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8618231Z               "line": 759
2026-06-16T04:57:29.8618339Z             },
2026-06-16T04:57:29.8618440Z             {
2026-06-16T04:57:29.8618584Z               "path": "crates/spt/src/api/reporting.rs",
2026-06-16T04:57:29.8618687Z               "line": 722
2026-06-16T04:57:29.8618777Z             }
2026-06-16T04:57:29.8618882Z           ]
2026-06-16T04:57:29.8619070Z         }
2026-06-16T04:57:29.8619171Z       }
2026-06-16T04:57:29.8619276Z     },
2026-06-16T04:57:29.8619371Z     {
2026-06-16T04:57:29.8619475Z       "id": "REQ-TERM-7",
2026-06-16T04:57:29.8620686Z       "title": "Two-origin digest merge: spt-owned context-injection entries (psyche_download | echo_mirror | owl_message) appended by spt to the endpoint `digest.log`, timestamp-interleaved with the adapter's extracted activity records into one ordered timeline, via a distinct context-injection record category. Data model only this milestone; GUI collapse/expand and the echo-reads-digest delta loop are deferred to the surfaces that consume them.",
2026-06-16T04:57:29.8620996Z       "requiredStages": [
2026-06-16T04:57:29.8621098Z         "impl",
2026-06-16T04:57:29.8621193Z         "unit",
2026-06-16T04:57:29.8621297Z         "int"
2026-06-16T04:57:29.8621399Z       ],
2026-06-16T04:57:29.8621508Z       "stages": {
2026-06-16T04:57:29.8621611Z         "doc": {
2026-06-16T04:57:29.8621716Z           "complete": false,
2026-06-16T04:57:29.8621831Z           "evidence": []
2026-06-16T04:57:29.8621934Z         },
2026-06-16T04:57:29.8622030Z         "impl": {
2026-06-16T04:57:29.8622140Z           "complete": true,
2026-06-16T04:57:29.8622249Z           "evidence": [
2026-06-16T04:57:29.8622350Z             {
2026-06-16T04:57:29.8622503Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8622616Z               "line": 133
2026-06-16T04:57:29.8622723Z             },
2026-06-16T04:57:29.8622822Z             {
2026-06-16T04:57:29.8622969Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8623076Z               "line": 311
2026-06-16T04:57:29.8623175Z             },
2026-06-16T04:57:29.8623280Z             {
2026-06-16T04:57:29.8623419Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T04:57:29.8623528Z               "line": 15
2026-06-16T04:57:29.8623628Z             },
2026-06-16T04:57:29.8623729Z             {
2026-06-16T04:57:29.8623875Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T04:57:29.8623984Z               "line": 32
2026-06-16T04:57:29.8624083Z             },
2026-06-16T04:57:29.8624187Z             {
2026-06-16T04:57:29.8624326Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.8624445Z               "line": 49
2026-06-16T04:57:29.8624583Z             },
2026-06-16T04:57:29.8624693Z             {
2026-06-16T04:57:29.8624845Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8624951Z               "line": 286
2026-06-16T04:57:29.8625050Z             },
2026-06-16T04:57:29.8625150Z             {
2026-06-16T04:57:29.8625294Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8625403Z               "line": 320
2026-06-16T04:57:29.8625503Z             }
2026-06-16T04:57:29.8625609Z           ]
2026-06-16T04:57:29.8625713Z         },
2026-06-16T04:57:29.8625827Z         "int": {
2026-06-16T04:57:29.8625938Z           "complete": true,
2026-06-16T04:57:29.8626056Z           "evidence": [
2026-06-16T04:57:29.8626161Z             {
2026-06-16T04:57:29.8626337Z               "path": "crates/spt-daemon/tests/two_origin_spanning.rs",
2026-06-16T04:57:29.8626447Z               "line": 19
2026-06-16T04:57:29.8626539Z             }
2026-06-16T04:57:29.8626643Z           ]
2026-06-16T04:57:29.8626747Z         },
2026-06-16T04:57:29.8626851Z         "unit": {
2026-06-16T04:57:29.8626969Z           "complete": true,
2026-06-16T04:57:29.8627068Z           "evidence": [
2026-06-16T04:57:29.8627173Z             {
2026-06-16T04:57:29.8627312Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8627430Z               "line": 440
2026-06-16T04:57:29.8627532Z             },
2026-06-16T04:57:29.8627636Z             {
2026-06-16T04:57:29.8627779Z               "path": "crates/spt-daemon/src/digest.rs",
2026-06-16T04:57:29.8627884Z               "line": 551
2026-06-16T04:57:29.8627989Z             },
2026-06-16T04:57:29.8628089Z             {
2026-06-16T04:57:29.8628232Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T04:57:29.8628337Z               "line": 58
2026-06-16T04:57:29.8628442Z             },
2026-06-16T04:57:29.8628547Z             {
2026-06-16T04:57:29.8628685Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T04:57:29.8628876Z               "line": 77
2026-06-16T04:57:29.8629125Z             },
2026-06-16T04:57:29.8629224Z             {
2026-06-16T04:57:29.8629365Z               "path": "crates/spt-live/src/inject.rs",
2026-06-16T04:57:29.8629470Z               "line": 87
2026-06-16T04:57:29.8629573Z             },
2026-06-16T04:57:29.8629678Z             {
2026-06-16T04:57:29.8629817Z               "path": "crates/spt-store/src/history.rs",
2026-06-16T04:57:29.8629917Z               "line": 94
2026-06-16T04:57:29.8630021Z             },
2026-06-16T04:57:29.8630122Z             {
2026-06-16T04:57:29.8630269Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8630375Z               "line": 691
2026-06-16T04:57:29.8630475Z             },
2026-06-16T04:57:29.8630584Z             {
2026-06-16T04:57:29.8630723Z               "path": "crates/spt-term/src/projection.rs",
2026-06-16T04:57:29.8630827Z               "line": 716
2026-06-16T04:57:29.8630927Z             }
2026-06-16T04:57:29.8631029Z           ]
2026-06-16T04:57:29.8631147Z         }
2026-06-16T04:57:29.8631251Z       }
2026-06-16T04:57:29.8631358Z     },
2026-06-16T04:57:29.8631462Z     {
2026-06-16T04:57:29.8631580Z       "id": "REQ-UPD-1",
2026-06-16T04:57:29.8631725Z       "title": "Peer-propagated update over P2P",
2026-06-16T04:57:29.8631843Z       "requiredStages": [
2026-06-16T04:57:29.8631949Z         "impl",
2026-06-16T04:57:29.8632049Z         "unit",
2026-06-16T04:57:29.8632138Z         "int"
2026-06-16T04:57:29.8632237Z       ],
2026-06-16T04:57:29.8632343Z       "stages": {
2026-06-16T04:57:29.8632448Z         "doc": {
2026-06-16T04:57:29.8632557Z           "complete": false,
2026-06-16T04:57:29.8632673Z           "evidence": []
2026-06-16T04:57:29.8632768Z         },
2026-06-16T04:57:29.8632867Z         "impl": {
2026-06-16T04:57:29.8632973Z           "complete": true,
2026-06-16T04:57:29.8633087Z           "evidence": [
2026-06-16T04:57:29.8633186Z             {
2026-06-16T04:57:29.8633335Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8633454Z               "line": 28
2026-06-16T04:57:29.8633559Z             },
2026-06-16T04:57:29.8633664Z             {
2026-06-16T04:57:29.8633811Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8633917Z               "line": 103
2026-06-16T04:57:29.8634021Z             },
2026-06-16T04:57:29.8634121Z             {
2026-06-16T04:57:29.8634275Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8634383Z               "line": 342
2026-06-16T04:57:29.8634486Z             },
2026-06-16T04:57:29.8634592Z             {
2026-06-16T04:57:29.8634738Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8634843Z               "line": 22
2026-06-16T04:57:29.8634948Z             },
2026-06-16T04:57:29.8635057Z             {
2026-06-16T04:57:29.8635195Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8635315Z               "line": 207
2026-06-16T04:57:29.8635414Z             },
2026-06-16T04:57:29.8635521Z             {
2026-06-16T04:57:29.8635668Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8635782Z               "line": 283
2026-06-16T04:57:29.8635892Z             },
2026-06-16T04:57:29.8635996Z             {
2026-06-16T04:57:29.8636145Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8636254Z               "line": 340
2026-06-16T04:57:29.8636363Z             },
2026-06-16T04:57:29.8636465Z             {
2026-06-16T04:57:29.8636621Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8636736Z               "line": 37
2026-06-16T04:57:29.8636832Z             }
2026-06-16T04:57:29.8636935Z           ]
2026-06-16T04:57:29.8637032Z         },
2026-06-16T04:57:29.8637138Z         "int": {
2026-06-16T04:57:29.8637240Z           "complete": true,
2026-06-16T04:57:29.8637344Z           "evidence": [
2026-06-16T04:57:29.8637450Z             {
2026-06-16T04:57:29.8637600Z               "path": "crates/spt-daemon/tests/dispatch.rs",
2026-06-16T04:57:29.8637900Z               "line": 207
2026-06-16T04:57:29.8638000Z             },
2026-06-16T04:57:29.8638102Z             {
2026-06-16T04:57:29.8638248Z               "path": "crates/spt-daemon/tests/twohost.rs",
2026-06-16T04:57:29.8638354Z               "line": 989
2026-06-16T04:57:29.8638463Z             }
2026-06-16T04:57:29.8638563Z           ]
2026-06-16T04:57:29.8638668Z         },
2026-06-16T04:57:29.8638773Z         "unit": {
2026-06-16T04:57:29.8638882Z           "complete": true,
2026-06-16T04:57:29.8639065Z           "evidence": [
2026-06-16T04:57:29.8639168Z             {
2026-06-16T04:57:29.8639308Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8639413Z               "line": 490
2026-06-16T04:57:29.8639517Z             },
2026-06-16T04:57:29.8639618Z             {
2026-06-16T04:57:29.8639760Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8639873Z               "line": 616
2026-06-16T04:57:29.8639983Z             },
2026-06-16T04:57:29.8640087Z             {
2026-06-16T04:57:29.8640238Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.8640343Z               "line": 277
2026-06-16T04:57:29.8640444Z             },
2026-06-16T04:57:29.8640547Z             {
2026-06-16T04:57:29.8640687Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8640796Z               "line": 124
2026-06-16T04:57:29.8640896Z             },
2026-06-16T04:57:29.8640992Z             {
2026-06-16T04:57:29.8641125Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8641235Z               "line": 200
2026-06-16T04:57:29.8641340Z             }
2026-06-16T04:57:29.8641440Z           ]
2026-06-16T04:57:29.8641545Z         }
2026-06-16T04:57:29.8641650Z       }
2026-06-16T04:57:29.8641750Z     },
2026-06-16T04:57:29.8641850Z     {
2026-06-16T04:57:29.8641960Z       "id": "REQ-UPD-2",
2026-06-16T04:57:29.8642127Z       "title": "All binaries signature-verified before handoff",
2026-06-16T04:57:29.8642256Z       "requiredStages": [
2026-06-16T04:57:29.8642360Z         "impl",
2026-06-16T04:57:29.8642465Z         "unit"
2026-06-16T04:57:29.8642567Z       ],
2026-06-16T04:57:29.8642670Z       "stages": {
2026-06-16T04:57:29.8642773Z         "doc": {
2026-06-16T04:57:29.8642888Z           "complete": false,
2026-06-16T04:57:29.8642999Z           "evidence": []
2026-06-16T04:57:29.8643102Z         },
2026-06-16T04:57:29.8643203Z         "impl": {
2026-06-16T04:57:29.8643314Z           "complete": true,
2026-06-16T04:57:29.8643427Z           "evidence": [
2026-06-16T04:57:29.8643528Z             {
2026-06-16T04:57:29.8643675Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8643785Z               "line": 343
2026-06-16T04:57:29.8643890Z             },
2026-06-16T04:57:29.8643990Z             {
2026-06-16T04:57:29.8644134Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8644243Z               "line": 476
2026-06-16T04:57:29.8644343Z             },
2026-06-16T04:57:29.8644454Z             {
2026-06-16T04:57:29.8644600Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8644695Z               "line": 29
2026-06-16T04:57:29.8644806Z             },
2026-06-16T04:57:29.8644910Z             {
2026-06-16T04:57:29.8645056Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8645162Z               "line": 271
2026-06-16T04:57:29.8645265Z             },
2026-06-16T04:57:29.8645364Z             {
2026-06-16T04:57:29.8645508Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8645621Z               "line": 288
2026-06-16T04:57:29.8645727Z             },
2026-06-16T04:57:29.8645827Z             {
2026-06-16T04:57:29.8645960Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8646071Z               "line": 408
2026-06-16T04:57:29.8646180Z             },
2026-06-16T04:57:29.8646279Z             {
2026-06-16T04:57:29.8646547Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8646739Z               "line": 540
2026-06-16T04:57:29.8646843Z             },
2026-06-16T04:57:29.8646938Z             {
2026-06-16T04:57:29.8647092Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8647201Z               "line": 155
2026-06-16T04:57:29.8647296Z             }
2026-06-16T04:57:29.8647397Z           ]
2026-06-16T04:57:29.8647500Z         },
2026-06-16T04:57:29.8647606Z         "int": {
2026-06-16T04:57:29.8647717Z           "complete": false,
2026-06-16T04:57:29.8647824Z           "evidence": []
2026-06-16T04:57:29.8647923Z         },
2026-06-16T04:57:29.8648024Z         "unit": {
2026-06-16T04:57:29.8648136Z           "complete": true,
2026-06-16T04:57:29.8648245Z           "evidence": [
2026-06-16T04:57:29.8651323Z             {
2026-06-16T04:57:29.8651520Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8651638Z               "line": 697
2026-06-16T04:57:29.8651761Z             },
2026-06-16T04:57:29.8651863Z             {
2026-06-16T04:57:29.8652014Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8652120Z               "line": 758
2026-06-16T04:57:29.8652224Z             },
2026-06-16T04:57:29.8652315Z             {
2026-06-16T04:57:29.8652464Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8652577Z               "line": 772
2026-06-16T04:57:29.8652677Z             },
2026-06-16T04:57:29.8652778Z             {
2026-06-16T04:57:29.8652920Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8653030Z               "line": 788
2026-06-16T04:57:29.8653132Z             },
2026-06-16T04:57:29.8653234Z             {
2026-06-16T04:57:29.8653377Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8653478Z               "line": 879
2026-06-16T04:57:29.8653577Z             },
2026-06-16T04:57:29.8653677Z             {
2026-06-16T04:57:29.8653821Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8653944Z               "line": 414
2026-06-16T04:57:29.8654045Z             },
2026-06-16T04:57:29.8654145Z             {
2026-06-16T04:57:29.8654287Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8654389Z               "line": 427
2026-06-16T04:57:29.8654489Z             },
2026-06-16T04:57:29.8654593Z             {
2026-06-16T04:57:29.8654751Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.8654855Z               "line": 410
2026-06-16T04:57:29.8654960Z             }
2026-06-16T04:57:29.8655056Z           ]
2026-06-16T04:57:29.8655160Z         }
2026-06-16T04:57:29.8655255Z       }
2026-06-16T04:57:29.8655357Z     },
2026-06-16T04:57:29.8655456Z     {
2026-06-16T04:57:29.8655569Z       "id": "REQ-UPD-3",
2026-06-16T04:57:29.8655773Z       "title": "No endpoint process terminates/suspends during self-update",
2026-06-16T04:57:29.8655877Z       "requiredStages": [
2026-06-16T04:57:29.8655987Z         "impl",
2026-06-16T04:57:29.8656093Z         "unit",
2026-06-16T04:57:29.8656191Z         "int"
2026-06-16T04:57:29.8656297Z       ],
2026-06-16T04:57:29.8656402Z       "stages": {
2026-06-16T04:57:29.8656511Z         "doc": {
2026-06-16T04:57:29.8656626Z           "complete": false,
2026-06-16T04:57:29.8656740Z           "evidence": []
2026-06-16T04:57:29.8656835Z         },
2026-06-16T04:57:29.8656946Z         "impl": {
2026-06-16T04:57:29.8657059Z           "complete": true,
2026-06-16T04:57:29.8657168Z           "evidence": [
2026-06-16T04:57:29.8657265Z             {
2026-06-16T04:57:29.8657413Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8657527Z               "line": 40
2026-06-16T04:57:29.8657618Z             },
2026-06-16T04:57:29.8657722Z             {
2026-06-16T04:57:29.8657871Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8657971Z               "line": 87
2026-06-16T04:57:29.8658210Z             },
2026-06-16T04:57:29.8658393Z             {
2026-06-16T04:57:29.8658532Z               "path": "crates/spt-daemon/src/brain.rs",
2026-06-16T04:57:29.8658636Z               "line": 993
2026-06-16T04:57:29.8658739Z             },
2026-06-16T04:57:29.8658840Z             {
2026-06-16T04:57:29.8659058Z               "path": "crates/spt-daemon/src/broker.rs",
2026-06-16T04:57:29.8659174Z               "line": 1085
2026-06-16T04:57:29.8659273Z             },
2026-06-16T04:57:29.8659373Z             {
2026-06-16T04:57:29.8659508Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8659622Z               "line": 26
2026-06-16T04:57:29.8659726Z             },
2026-06-16T04:57:29.8659822Z             {
2026-06-16T04:57:29.8659960Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8660065Z               "line": 114
2026-06-16T04:57:29.8660166Z             },
2026-06-16T04:57:29.8660265Z             {
2026-06-16T04:57:29.8660408Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8660529Z               "line": 246
2026-06-16T04:57:29.8660632Z             },
2026-06-16T04:57:29.8660733Z             {
2026-06-16T04:57:29.8660848Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8660951Z               "line": 2211
2026-06-16T04:57:29.8661050Z             }
2026-06-16T04:57:29.8661156Z           ]
2026-06-16T04:57:29.8661258Z         },
2026-06-16T04:57:29.8661358Z         "int": {
2026-06-16T04:57:29.8661469Z           "complete": true,
2026-06-16T04:57:29.8661568Z           "evidence": [
2026-06-16T04:57:29.8661673Z             {
2026-06-16T04:57:29.8661812Z               "path": "crates/spt/tests/brain_survive.rs",
2026-06-16T04:57:29.8661935Z               "line": 58
2026-06-16T04:57:29.8662031Z             }
2026-06-16T04:57:29.8662127Z           ]
2026-06-16T04:57:29.8662236Z         },
2026-06-16T04:57:29.8662341Z         "unit": {
2026-06-16T04:57:29.8662460Z           "complete": true,
2026-06-16T04:57:29.8662565Z           "evidence": [
2026-06-16T04:57:29.8662670Z             {
2026-06-16T04:57:29.8662817Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8662922Z               "line": 532
2026-06-16T04:57:29.8663024Z             },
2026-06-16T04:57:29.8663122Z             {
2026-06-16T04:57:29.8663275Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8663382Z               "line": 583
2026-06-16T04:57:29.8663475Z             },
2026-06-16T04:57:29.8663581Z             {
2026-06-16T04:57:29.8663720Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8663823Z               "line": 651
2026-06-16T04:57:29.8663922Z             },
2026-06-16T04:57:29.8664023Z             {
2026-06-16T04:57:29.8664166Z               "path": "crates/spt-daemon/src/brainproc.rs",
2026-06-16T04:57:29.8664271Z               "line": 1076
2026-06-16T04:57:29.8664377Z             },
2026-06-16T04:57:29.8664476Z             {
2026-06-16T04:57:29.8664625Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8664734Z               "line": 271
2026-06-16T04:57:29.8664838Z             },
2026-06-16T04:57:29.8664939Z             {
2026-06-16T04:57:29.8665072Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8665177Z               "line": 295
2026-06-16T04:57:29.8665274Z             },
2026-06-16T04:57:29.8665377Z             {
2026-06-16T04:57:29.8665510Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8665612Z               "line": 316
2026-06-16T04:57:29.8665715Z             },
2026-06-16T04:57:29.8665816Z             {
2026-06-16T04:57:29.8665955Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8666049Z               "line": 332
2026-06-16T04:57:29.8666153Z             }
2026-06-16T04:57:29.8666253Z           ]
2026-06-16T04:57:29.8666352Z         }
2026-06-16T04:57:29.8666451Z       }
2026-06-16T04:57:29.8666547Z     },
2026-06-16T04:57:29.8666751Z     {
2026-06-16T04:57:29.8666857Z       "id": "REQ-UPD-4",
2026-06-16T04:57:29.8667162Z       "title": "Update gated on user confirmation by default; opt-in full-auto",
2026-06-16T04:57:29.8667277Z       "requiredStages": [
2026-06-16T04:57:29.8667376Z         "impl",
2026-06-16T04:57:29.8667477Z         "unit"
2026-06-16T04:57:29.8667577Z       ],
2026-06-16T04:57:29.8667682Z       "stages": {
2026-06-16T04:57:29.8667782Z         "doc": {
2026-06-16T04:57:29.8667897Z           "complete": false,
2026-06-16T04:57:29.8668001Z           "evidence": []
2026-06-16T04:57:29.8668097Z         },
2026-06-16T04:57:29.8668202Z         "impl": {
2026-06-16T04:57:29.8668311Z           "complete": true,
2026-06-16T04:57:29.8668412Z           "evidence": [
2026-06-16T04:57:29.8668512Z             {
2026-06-16T04:57:29.8668664Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8668765Z               "line": 41
2026-06-16T04:57:29.8668870Z             },
2026-06-16T04:57:29.8669058Z             {
2026-06-16T04:57:29.8669210Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8669318Z               "line": 88
2026-06-16T04:57:29.8669409Z             },
2026-06-16T04:57:29.8669514Z             {
2026-06-16T04:57:29.8669657Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8669768Z               "line": 23
2026-06-16T04:57:29.8669868Z             },
2026-06-16T04:57:29.8669971Z             {
2026-06-16T04:57:29.8670116Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8670225Z               "line": 56
2026-06-16T04:57:29.8670329Z             },
2026-06-16T04:57:29.8670430Z             {
2026-06-16T04:57:29.8670577Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8670688Z               "line": 77
2026-06-16T04:57:29.8670788Z             },
2026-06-16T04:57:29.8670888Z             {
2026-06-16T04:57:29.8671022Z               "path": "crates/spt-daemon/src/lifecycle.rs",
2026-06-16T04:57:29.8671140Z               "line": 186
2026-06-16T04:57:29.8671250Z             },
2026-06-16T04:57:29.8671341Z             {
2026-06-16T04:57:29.8671487Z               "path": "crates/spt-daemon/src/notif.rs",
2026-06-16T04:57:29.8671587Z               "line": 108
2026-06-16T04:57:29.8671716Z             },
2026-06-16T04:57:29.8671819Z             {
2026-06-16T04:57:29.8671957Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.8672062Z               "line": 212
2026-06-16T04:57:29.8672396Z             },
2026-06-16T04:57:29.8672611Z             {
2026-06-16T04:57:29.8672853Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8673153Z               "line": 2210
2026-06-16T04:57:29.8673377Z             }
2026-06-16T04:57:29.8673569Z           ]
2026-06-16T04:57:29.8673764Z         },
2026-06-16T04:57:29.8673965Z         "int": {
2026-06-16T04:57:29.8674185Z           "complete": false,
2026-06-16T04:57:29.8674426Z           "evidence": []
2026-06-16T04:57:29.8674651Z         },
2026-06-16T04:57:29.8674841Z         "unit": {
2026-06-16T04:57:29.8675064Z           "complete": true,
2026-06-16T04:57:29.8675299Z           "evidence": [
2026-06-16T04:57:29.8675509Z             {
2026-06-16T04:57:29.8675756Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8676047Z               "line": 579
2026-06-16T04:57:29.8676271Z             },
2026-06-16T04:57:29.8676468Z             {
2026-06-16T04:57:29.8676709Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8676988Z               "line": 704
2026-06-16T04:57:29.8677203Z             },
2026-06-16T04:57:29.8677398Z             {
2026-06-16T04:57:29.8677636Z               "path": "crates/spt-daemon/src/config.rs",
2026-06-16T04:57:29.8677917Z               "line": 384
2026-06-16T04:57:29.8678142Z             },
2026-06-16T04:57:29.8678337Z             {
2026-06-16T04:57:29.8678576Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8678847Z               "line": 102
2026-06-16T04:57:29.8679350Z             },
2026-06-16T04:57:29.8679537Z             {
2026-06-16T04:57:29.8679775Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8680061Z               "line": 123
2026-06-16T04:57:29.8680269Z             },
2026-06-16T04:57:29.8680465Z             {
2026-06-16T04:57:29.8680699Z               "path": "crates/spt-daemon/src/consent.rs",
2026-06-16T04:57:29.8680976Z               "line": 142
2026-06-16T04:57:29.8681223Z             },
2026-06-16T04:57:29.8681413Z             {
2026-06-16T04:57:29.8681649Z               "path": "crates/spt-store/src/info.rs",
2026-06-16T04:57:29.8681921Z               "line": 456
2026-06-16T04:57:29.8682133Z             },
2026-06-16T04:57:29.8682332Z             {
2026-06-16T04:57:29.8682565Z               "path": "crates/spt-store/src/perch.rs",
2026-06-16T04:57:29.8682836Z               "line": 566
2026-06-16T04:57:29.8683051Z             },
2026-06-16T04:57:29.8683252Z             {
2026-06-16T04:57:29.8683476Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8683747Z               "line": 6918
2026-06-16T04:57:29.8683967Z             }
2026-06-16T04:57:29.8684163Z           ]
2026-06-16T04:57:29.8684347Z         }
2026-06-16T04:57:29.8684540Z       }
2026-06-16T04:57:29.8684730Z     },
2026-06-16T04:57:29.8684901Z     {
2026-06-16T04:57:29.8685105Z       "id": "REQ-UPD-5",
2026-06-16T04:57:29.8685396Z       "title": "spt-core ripple-updates registered adapters",
2026-06-16T04:57:29.8685701Z       "requiredStages": [
2026-06-16T04:57:29.8685934Z         "impl",
2026-06-16T04:57:29.8686131Z         "unit"
2026-06-16T04:57:29.8686355Z       ],
2026-06-16T04:57:29.8686569Z       "stages": {
2026-06-16T04:57:29.8686793Z         "doc": {
2026-06-16T04:57:29.8686999Z           "complete": false,
2026-06-16T04:57:29.8687231Z           "evidence": []
2026-06-16T04:57:29.8687491Z         },
2026-06-16T04:57:29.8687720Z         "impl": {
2026-06-16T04:57:29.8687934Z           "complete": true,
2026-06-16T04:57:29.8688172Z           "evidence": [
2026-06-16T04:57:29.8688402Z             {
2026-06-16T04:57:29.8688660Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8689031Z               "line": 27
2026-06-16T04:57:29.8689241Z             },
2026-06-16T04:57:29.8689446Z             {
2026-06-16T04:57:29.8689693Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8689990Z               "line": 82
2026-06-16T04:57:29.8690246Z             },
2026-06-16T04:57:29.8690448Z             {
2026-06-16T04:57:29.8690701Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8690997Z               "line": 134
2026-06-16T04:57:29.8691217Z             },
2026-06-16T04:57:29.8691411Z             {
2026-06-16T04:57:29.8691650Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8691931Z               "line": 492
2026-06-16T04:57:29.8692147Z             },
2026-06-16T04:57:29.8692347Z             {
2026-06-16T04:57:29.8692585Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8692874Z               "line": 528
2026-06-16T04:57:29.8693092Z             }
2026-06-16T04:57:29.8693282Z           ]
2026-06-16T04:57:29.8693474Z         },
2026-06-16T04:57:29.8693663Z         "int": {
2026-06-16T04:57:29.8693874Z           "complete": false,
2026-06-16T04:57:29.8694108Z           "evidence": []
2026-06-16T04:57:29.8694331Z         },
2026-06-16T04:57:29.8694537Z         "unit": {
2026-06-16T04:57:29.8694766Z           "complete": true,
2026-06-16T04:57:29.8695005Z           "evidence": [
2026-06-16T04:57:29.8695218Z             {
2026-06-16T04:57:29.8695466Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8695757Z               "line": 232
2026-06-16T04:57:29.8695980Z             },
2026-06-16T04:57:29.8696184Z             {
2026-06-16T04:57:29.8696448Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8696886Z               "line": 246
2026-06-16T04:57:29.8697201Z             },
2026-06-16T04:57:29.8697405Z             {
2026-06-16T04:57:29.8697655Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8697953Z               "line": 260
2026-06-16T04:57:29.8698169Z             },
2026-06-16T04:57:29.8698361Z             {
2026-06-16T04:57:29.8698619Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8698910Z               "line": 274
2026-06-16T04:57:29.8699243Z             },
2026-06-16T04:57:29.8699438Z             {
2026-06-16T04:57:29.8699686Z               "path": "crates/spt-daemon/src/adapter_update.rs",
2026-06-16T04:57:29.8699987Z               "line": 308
2026-06-16T04:57:29.8700197Z             },
2026-06-16T04:57:29.8700392Z             {
2026-06-16T04:57:29.8700634Z               "path": "crates/spt-runtime/src/manifest.rs",
2026-06-16T04:57:29.8700932Z               "line": 972
2026-06-16T04:57:29.8701152Z             }
2026-06-16T04:57:29.8701356Z           ]
2026-06-16T04:57:29.8701562Z         }
2026-06-16T04:57:29.8701749Z       }
2026-06-16T04:57:29.8701933Z     },
2026-06-16T04:57:29.8702125Z     {
2026-06-16T04:57:29.8702320Z       "id": "REQ-UPD-6",
2026-06-16T04:57:29.8703310Z       "title": "Platform-targeted update sets and debug rollout: signed multi-platform update metadata, recipient platform selection, channel-scoped monotonic counters, debug-channel opt-in via release-key overlay, local staging plus pull-based peer propagation, and maintainer-only convergence tooling (ADR-0016)",
2026-06-16T04:57:29.8704296Z       "requiredStages": [
2026-06-16T04:57:29.8704514Z         "doc",
2026-06-16T04:57:29.8704720Z         "impl",
2026-06-16T04:57:29.8704930Z         "unit",
2026-06-16T04:57:29.8705130Z         "int"
2026-06-16T04:57:29.8705331Z       ],
2026-06-16T04:57:29.8705536Z       "stages": {
2026-06-16T04:57:29.8705739Z         "doc": {
2026-06-16T04:57:29.8705961Z           "complete": true,
2026-06-16T04:57:29.8706206Z           "evidence": [
2026-06-16T04:57:29.8706430Z             {
2026-06-16T04:57:29.8706684Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T04:57:29.8706964Z               "line": 3
2026-06-16T04:57:29.8707184Z             },
2026-06-16T04:57:29.8707388Z             {
2026-06-16T04:57:29.8707618Z               "path": "docs/DEBUG-ROLLOUT.md",
2026-06-16T04:57:29.8707881Z               "line": 3
2026-06-16T04:57:29.8708090Z             },
2026-06-16T04:57:29.8708280Z             {
2026-06-16T04:57:29.8708560Z               "path": "docs/adr/0016-platform-targeted-update-sets.md",
2026-06-16T04:57:29.8708874Z               "line": 3
2026-06-16T04:57:29.8709179Z             }
2026-06-16T04:57:29.8709373Z           ]
2026-06-16T04:57:29.8709565Z         },
2026-06-16T04:57:29.8709761Z         "impl": {
2026-06-16T04:57:29.8709979Z           "complete": true,
2026-06-16T04:57:29.8710214Z           "evidence": [
2026-06-16T04:57:29.8710429Z             {
2026-06-16T04:57:29.8710667Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8710957Z               "line": 76
2026-06-16T04:57:29.8711171Z             },
2026-06-16T04:57:29.8711376Z             {
2026-06-16T04:57:29.8711621Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8711902Z               "line": 212
2026-06-16T04:57:29.8712127Z             },
2026-06-16T04:57:29.8712323Z             {
2026-06-16T04:57:29.8712560Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8712851Z               "line": 69
2026-06-16T04:57:29.8713066Z             },
2026-06-16T04:57:29.8713272Z             {
2026-06-16T04:57:29.8713509Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8713799Z               "line": 133
2026-06-16T04:57:29.8714012Z             },
2026-06-16T04:57:29.8714207Z             {
2026-06-16T04:57:29.8714454Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8714741Z               "line": 243
2026-06-16T04:57:29.8715079Z             },
2026-06-16T04:57:29.8715375Z             {
2026-06-16T04:57:29.8715633Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8715919Z               "line": 406
2026-06-16T04:57:29.8716135Z             },
2026-06-16T04:57:29.8716339Z             {
2026-06-16T04:57:29.8716577Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8716867Z               "line": 534
2026-06-16T04:57:29.8717081Z             },
2026-06-16T04:57:29.8717272Z             {
2026-06-16T04:57:29.8717506Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8717797Z               "line": 548
2026-06-16T04:57:29.8718016Z             },
2026-06-16T04:57:29.8718211Z             {
2026-06-16T04:57:29.8718450Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8718732Z               "line": 603
2026-06-16T04:57:29.8719026Z             },
2026-06-16T04:57:29.8719228Z             {
2026-06-16T04:57:29.8719468Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8719767Z               "line": 634
2026-06-16T04:57:29.8719992Z             },
2026-06-16T04:57:29.8720181Z             {
2026-06-16T04:57:29.8720425Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T04:57:29.8720707Z               "line": 137
2026-06-16T04:57:29.8720917Z             },
2026-06-16T04:57:29.8721112Z             {
2026-06-16T04:57:29.8721346Z               "path": "crates/spt-daemon/src/pump/update.rs",
2026-06-16T04:57:29.8721652Z               "line": 184
2026-06-16T04:57:29.8721869Z             },
2026-06-16T04:57:29.8722067Z             {
2026-06-16T04:57:29.8722301Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8722587Z               "line": 78
2026-06-16T04:57:29.8722810Z             },
2026-06-16T04:57:29.8723002Z             {
2026-06-16T04:57:29.8723241Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8723532Z               "line": 114
2026-06-16T04:57:29.8723745Z             },
2026-06-16T04:57:29.8723940Z             {
2026-06-16T04:57:29.8724181Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8724459Z               "line": 185
2026-06-16T04:57:29.8724676Z             },
2026-06-16T04:57:29.8724878Z             {
2026-06-16T04:57:29.8725116Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8725397Z               "line": 260
2026-06-16T04:57:29.8725620Z             },
2026-06-16T04:57:29.8725811Z             {
2026-06-16T04:57:29.8726050Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8726336Z               "line": 292
2026-06-16T04:57:29.8726560Z             },
2026-06-16T04:57:29.8726761Z             {
2026-06-16T04:57:29.8727000Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8727278Z               "line": 323
2026-06-16T04:57:29.8727508Z             },
2026-06-16T04:57:29.8731419Z             {
2026-06-16T04:57:29.8731743Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8732044Z               "line": 346
2026-06-16T04:57:29.8732272Z             },
2026-06-16T04:57:29.8732476Z             {
2026-06-16T04:57:29.8732712Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8732998Z               "line": 388
2026-06-16T04:57:29.8733224Z             },
2026-06-16T04:57:29.8733419Z             {
2026-06-16T04:57:29.8733652Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8733943Z               "line": 398
2026-06-16T04:57:29.8734153Z             },
2026-06-16T04:57:29.8734344Z             {
2026-06-16T04:57:29.8734587Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8734872Z               "line": 410
2026-06-16T04:57:29.8735091Z             },
2026-06-16T04:57:29.8735288Z             {
2026-06-16T04:57:29.8735527Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8736033Z               "line": 420
2026-06-16T04:57:29.8736367Z             },
2026-06-16T04:57:29.8736562Z             {
2026-06-16T04:57:29.8736805Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8737096Z               "line": 439
2026-06-16T04:57:29.8737316Z             },
2026-06-16T04:57:29.8737511Z             {
2026-06-16T04:57:29.8737749Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8738030Z               "line": 449
2026-06-16T04:57:29.8738240Z             },
2026-06-16T04:57:29.8738425Z             {
2026-06-16T04:57:29.8738660Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8738936Z               "line": 94
2026-06-16T04:57:29.8739232Z             },
2026-06-16T04:57:29.8739436Z             {
2026-06-16T04:57:29.8739669Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8739941Z               "line": 120
2026-06-16T04:57:29.8740156Z             },
2026-06-16T04:57:29.8740353Z             {
2026-06-16T04:57:29.8740597Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8740874Z               "line": 135
2026-06-16T04:57:29.8741093Z             },
2026-06-16T04:57:29.8741293Z             {
2026-06-16T04:57:29.8741527Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8741808Z               "line": 162
2026-06-16T04:57:29.8742037Z             },
2026-06-16T04:57:29.8742242Z             {
2026-06-16T04:57:29.8742466Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8742748Z               "line": 174
2026-06-16T04:57:29.8742965Z             },
2026-06-16T04:57:29.8743150Z             {
2026-06-16T04:57:29.8743388Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8743660Z               "line": 185
2026-06-16T04:57:29.8743864Z             },
2026-06-16T04:57:29.8744056Z             {
2026-06-16T04:57:29.8744289Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8744570Z               "line": 451
2026-06-16T04:57:29.8744789Z             },
2026-06-16T04:57:29.8744981Z             {
2026-06-16T04:57:29.8745214Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8745494Z               "line": 555
2026-06-16T04:57:29.8745707Z             },
2026-06-16T04:57:29.8745906Z             {
2026-06-16T04:57:29.8746145Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8746426Z               "line": 171
2026-06-16T04:57:29.8746646Z             },
2026-06-16T04:57:29.8746832Z             {
2026-06-16T04:57:29.8747069Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8747351Z               "line": 65
2026-06-16T04:57:29.8747562Z             },
2026-06-16T04:57:29.8747747Z             {
2026-06-16T04:57:29.8747985Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8748257Z               "line": 71
2026-06-16T04:57:29.8748466Z             },
2026-06-16T04:57:29.8748666Z             {
2026-06-16T04:57:29.8748901Z               "path": "crates/spt-net/src/net/update.rs",
2026-06-16T04:57:29.8749262Z               "line": 77
2026-06-16T04:57:29.8749468Z             },
2026-06-16T04:57:29.8749667Z             {
2026-06-16T04:57:29.8749892Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8750173Z               "line": 778
2026-06-16T04:57:29.8750379Z             },
2026-06-16T04:57:29.8750577Z             {
2026-06-16T04:57:29.8750796Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8751071Z               "line": 795
2026-06-16T04:57:29.8751280Z             },
2026-06-16T04:57:29.8751472Z             {
2026-06-16T04:57:29.8751687Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8751948Z               "line": 838
2026-06-16T04:57:29.8752153Z             },
2026-06-16T04:57:29.8752349Z             {
2026-06-16T04:57:29.8752568Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8752946Z               "line": 981
2026-06-16T04:57:29.8753275Z             },
2026-06-16T04:57:29.8753468Z             {
2026-06-16T04:57:29.8753682Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8753943Z               "line": 1131
2026-06-16T04:57:29.8754157Z             }
2026-06-16T04:57:29.8754349Z           ]
2026-06-16T04:57:29.8754540Z         },
2026-06-16T04:57:29.8754739Z         "int": {
2026-06-16T04:57:29.8754959Z           "complete": true,
2026-06-16T04:57:29.8755179Z           "evidence": [
2026-06-16T04:57:29.8755435Z             {
2026-06-16T04:57:29.8755688Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.8755987Z               "line": 569
2026-06-16T04:57:29.8756202Z             },
2026-06-16T04:57:29.8756404Z             {
2026-06-16T04:57:29.8756643Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T04:57:29.8756925Z               "line": 135
2026-06-16T04:57:29.8757145Z             }
2026-06-16T04:57:29.8757339Z           ]
2026-06-16T04:57:29.8757530Z         },
2026-06-16T04:57:29.8757731Z         "unit": {
2026-06-16T04:57:29.8757939Z           "complete": true,
2026-06-16T04:57:29.8758164Z           "evidence": [
2026-06-16T04:57:29.8758384Z             {
2026-06-16T04:57:29.8758632Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8758926Z               "line": 624
2026-06-16T04:57:29.8759226Z             },
2026-06-16T04:57:29.8759418Z             {
2026-06-16T04:57:29.8759656Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8759942Z               "line": 673
2026-06-16T04:57:29.8760156Z             },
2026-06-16T04:57:29.8760357Z             {
2026-06-16T04:57:29.8760591Z               "path": "crates/spt-daemon/src/propagate.rs",
2026-06-16T04:57:29.8760881Z               "line": 696
2026-06-16T04:57:29.8761095Z             },
2026-06-16T04:57:29.8761295Z             {
2026-06-16T04:57:29.8761525Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8761821Z               "line": 513
2026-06-16T04:57:29.8762036Z             },
2026-06-16T04:57:29.8762238Z             {
2026-06-16T04:57:29.8762460Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8762780Z               "line": 638
2026-06-16T04:57:29.8762995Z             },
2026-06-16T04:57:29.8763182Z             {
2026-06-16T04:57:29.8763410Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8763691Z               "line": 675
2026-06-16T04:57:29.8763906Z             },
2026-06-16T04:57:29.8764104Z             {
2026-06-16T04:57:29.8764336Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8764613Z               "line": 894
2026-06-16T04:57:29.8764828Z             },
2026-06-16T04:57:29.8765022Z             {
2026-06-16T04:57:29.8765257Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8765533Z               "line": 916
2026-06-16T04:57:29.8765753Z             },
2026-06-16T04:57:29.8765938Z             {
2026-06-16T04:57:29.8766177Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8766459Z               "line": 933
2026-06-16T04:57:29.8766681Z             },
2026-06-16T04:57:29.8766874Z             {
2026-06-16T04:57:29.8767108Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8767385Z               "line": 948
2026-06-16T04:57:29.8767599Z             },
2026-06-16T04:57:29.8767785Z             {
2026-06-16T04:57:29.8768019Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8768291Z               "line": 974
2026-06-16T04:57:29.8768509Z             },
2026-06-16T04:57:29.8768701Z             {
2026-06-16T04:57:29.8768935Z               "path": "crates/spt-daemon/src/update.rs",
2026-06-16T04:57:29.8769293Z               "line": 457
2026-06-16T04:57:29.8769514Z             },
2026-06-16T04:57:29.8769711Z             {
2026-06-16T04:57:29.8769959Z               "path": "crates/spt-daemon/tests/propagate.rs",
2026-06-16T04:57:29.8770449Z               "line": 338
2026-06-16T04:57:29.8770668Z             },
2026-06-16T04:57:29.8770865Z             {
2026-06-16T04:57:29.8771083Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8771350Z               "line": 9136
2026-06-16T04:57:29.8771566Z             },
2026-06-16T04:57:29.8771754Z             {
2026-06-16T04:57:29.8771986Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8772259Z               "line": 1260
2026-06-16T04:57:29.8772477Z             },
2026-06-16T04:57:29.8772682Z             {
2026-06-16T04:57:29.8772916Z               "path": "docs/DEBUG-CONVERGE-PLAN.md",
2026-06-16T04:57:29.8773193Z               "line": 130
2026-06-16T04:57:29.8773407Z             }
2026-06-16T04:57:29.8773602Z           ]
2026-06-16T04:57:29.8773794Z         }
2026-06-16T04:57:29.8773989Z       }
2026-06-16T04:57:29.8774179Z     },
2026-06-16T04:57:29.8774361Z     {
2026-06-16T04:57:29.8774579Z       "id": "REQ-UPD-7",
2026-06-16T04:57:29.8776919Z       "title": "Origin-source update bootstrap (`spt update fetch`): pull the latest signed release directly from the GitHub release origin (`SaberMage/spt-releases`) — the per-platform artifact + its `<asset>.release.json` SignedRelease metadata — and stage it through the EXISTING verify→stage pipeline (the same `plan_verified` gate: two-key signature + channel + monotonic rollback floor + SHA-256), after which the normal consent-notif / `spt update apply` flow is unchanged. Closes the peer-only-discovery gap (REQ-UPD-1): a first-in-fleet / isolated node can update with no peer to pull from. The signed-release anchor keeps the GitHub transport untrusted-but-verified.",
2026-06-16T04:57:29.8778793Z       "requiredStages": [
2026-06-16T04:57:29.8779113Z         "impl",
2026-06-16T04:57:29.8779327Z         "unit"
2026-06-16T04:57:29.8779571Z       ],
2026-06-16T04:57:29.8779767Z       "stages": {
2026-06-16T04:57:29.8779970Z         "doc": {
2026-06-16T04:57:29.8780190Z           "complete": false,
2026-06-16T04:57:29.8780432Z           "evidence": []
2026-06-16T04:57:29.8780647Z         },
2026-06-16T04:57:29.8780839Z         "impl": {
2026-06-16T04:57:29.8781052Z           "complete": true,
2026-06-16T04:57:29.8781295Z           "evidence": [
2026-06-16T04:57:29.8781511Z             {
2026-06-16T04:57:29.8781735Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8781997Z               "line": 2315
2026-06-16T04:57:29.8782215Z             }
2026-06-16T04:57:29.8782410Z           ]
2026-06-16T04:57:29.8782604Z         },
2026-06-16T04:57:29.8782800Z         "int": {
2026-06-16T04:57:29.8783004Z           "complete": false,
2026-06-16T04:57:29.8783247Z           "evidence": []
2026-06-16T04:57:29.8783462Z         },
2026-06-16T04:57:29.8783658Z         "unit": {
2026-06-16T04:57:29.8783881Z           "complete": true,
2026-06-16T04:57:29.8784115Z           "evidence": [
2026-06-16T04:57:29.8784321Z             {
2026-06-16T04:57:29.8784544Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8784830Z               "line": 9112
2026-06-16T04:57:29.8785059Z             }
2026-06-16T04:57:29.8785248Z           ]
2026-06-16T04:57:29.8785437Z         }
2026-06-16T04:57:29.8785619Z       }
2026-06-16T04:57:29.8785814Z     },
2026-06-16T04:57:29.8786005Z     {
2026-06-16T04:57:29.8786205Z       "id": "REQ-UPD-8",
2026-06-16T04:57:29.8788872Z       "title": "Platform-safe `spt update fetch` + apply platform-guard (v0.3.1 cross-OS brick fix): `spt update fetch` stages the signed multi-platform `SignedUpdateSet` (`update-set.json` + every platform artifact it names), never a platform-blind single `SignedRelease`, so local apply selects `current_platform()` and P2P re-serve lets each peer select ITS own platform. Defense-in-depth: `apply_staged` REFUSES a staged single-release artifact unless it is platform-stamped for THIS node (an unstamped pre-v0.3.2 single, or a single stamped for another OS, fail-safe refuses — the guard that alone prevents the v0.3.1 brick where a Linux ELF was applied as `spt.exe`). UX: a friendly post-apply message (`Updated spt-core to vX.Y.Z.` + changelog URL) driven by an additive `product_version` metadata field, with a release-counter fallback when absent.",
2026-06-16T04:57:29.8791408Z       "requiredStages": [
2026-06-16T04:57:29.8791631Z         "impl",
2026-06-16T04:57:29.8791837Z         "unit"
2026-06-16T04:57:29.8792033Z       ],
2026-06-16T04:57:29.8792227Z       "stages": {
2026-06-16T04:57:29.8792442Z         "doc": {
2026-06-16T04:57:29.8792653Z           "complete": false,
2026-06-16T04:57:29.8792889Z           "evidence": []
2026-06-16T04:57:29.8793102Z         },
2026-06-16T04:57:29.8793302Z         "impl": {
2026-06-16T04:57:29.8793516Z           "complete": true,
2026-06-16T04:57:29.8793750Z           "evidence": [
2026-06-16T04:57:29.8793961Z             {
2026-06-16T04:57:29.8794209Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8794503Z               "line": 77
2026-06-16T04:57:29.8794732Z             },
2026-06-16T04:57:29.8794947Z             {
2026-06-16T04:57:29.8795191Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8795482Z               "line": 49
2026-06-16T04:57:29.8795699Z             },
2026-06-16T04:57:29.8795899Z             {
2026-06-16T04:57:29.8796145Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8796436Z               "line": 152
2026-06-16T04:57:29.8796655Z             },
2026-06-16T04:57:29.8796860Z             {
2026-06-16T04:57:29.8797094Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8797380Z               "line": 215
2026-06-16T04:57:29.8797599Z             },
2026-06-16T04:57:29.8797791Z             {
2026-06-16T04:57:29.8798025Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8798323Z               "line": 230
2026-06-16T04:57:29.8798535Z             },
2026-06-16T04:57:29.8798736Z             {
2026-06-16T04:57:29.8799056Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8799342Z               "line": 247
2026-06-16T04:57:29.8799551Z             },
2026-06-16T04:57:29.8799742Z             {
2026-06-16T04:57:29.8799976Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8800267Z               "line": 269
2026-06-16T04:57:29.8800486Z             },
2026-06-16T04:57:29.8800682Z             {
2026-06-16T04:57:29.8800921Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8801204Z               "line": 66
2026-06-16T04:57:29.8801415Z             },
2026-06-16T04:57:29.8801606Z             {
2026-06-16T04:57:29.8801843Z               "path": "crates/spt-daemon/src/release.rs",
2026-06-16T04:57:29.8802120Z               "line": 154
2026-06-16T04:57:29.8802335Z             },
2026-06-16T04:57:29.8802521Z             {
2026-06-16T04:57:29.8802745Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8803011Z               "line": 2199
2026-06-16T04:57:29.8803242Z             },
2026-06-16T04:57:29.8803345Z             {
2026-06-16T04:57:29.8803473Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8803587Z               "line": 2262
2026-06-16T04:57:29.8803690Z             },
2026-06-16T04:57:29.8803800Z             {
2026-06-16T04:57:29.8803925Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8804033Z               "line": 2272
2026-06-16T04:57:29.8804129Z             },
2026-06-16T04:57:29.8804229Z             {
2026-06-16T04:57:29.8804348Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8804449Z               "line": 2279
2026-06-16T04:57:29.8804554Z             },
2026-06-16T04:57:29.8804658Z             {
2026-06-16T04:57:29.8804778Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8804887Z               "line": 2316
2026-06-16T04:57:29.8804987Z             },
2026-06-16T04:57:29.8805098Z             {
2026-06-16T04:57:29.8805221Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8805522Z               "line": 480
2026-06-16T04:57:29.8805621Z             },
2026-06-16T04:57:29.8805728Z             {
2026-06-16T04:57:29.8805864Z               "path": "crates/xtask/src/main.rs",
2026-06-16T04:57:29.8805974Z               "line": 494
2026-06-16T04:57:29.8806080Z             }
2026-06-16T04:57:29.8806175Z           ]
2026-06-16T04:57:29.8806288Z         },
2026-06-16T04:57:29.8806393Z         "int": {
2026-06-16T04:57:29.8806506Z           "complete": false,
2026-06-16T04:57:29.8806619Z           "evidence": []
2026-06-16T04:57:29.8806715Z         },
2026-06-16T04:57:29.8806826Z         "unit": {
2026-06-16T04:57:29.8806924Z           "complete": true,
2026-06-16T04:57:29.8807035Z           "evidence": [
2026-06-16T04:57:29.8807145Z             {
2026-06-16T04:57:29.8807286Z               "path": "crates/spt-daemon/src/applyhost.rs",
2026-06-16T04:57:29.8807398Z               "line": 476
2026-06-16T04:57:29.8807497Z             },
2026-06-16T04:57:29.8807606Z             {
2026-06-16T04:57:29.8807750Z               "path": "crates/spt-daemon/src/relcache.rs",
2026-06-16T04:57:29.8807864Z               "line": 580
2026-06-16T04:57:29.8807970Z             },
2026-06-16T04:57:29.8808069Z             {
2026-06-16T04:57:29.8808202Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8808299Z               "line": 9114
2026-06-16T04:57:29.8808407Z             },
2026-06-16T04:57:29.8808508Z             {
2026-06-16T04:57:29.8808638Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8808741Z               "line": 9136
2026-06-16T04:57:29.8808845Z             }
2026-06-16T04:57:29.8809030Z           ]
2026-06-16T04:57:29.8809129Z         }
2026-06-16T04:57:29.8809224Z       }
2026-06-16T04:57:29.8809325Z     },
2026-06-16T04:57:29.8809420Z     {
2026-06-16T04:57:29.8809539Z       "id": "REQ-WHOAMI-1",
2026-06-16T04:57:29.8811242Z       "title": "`spt whoami` is a thin ALIAS for `spt endpoint list` (full output: the SELF pin + the subnet roster) — the standalone bare-id command is dropped (the `id=$(spt whoami)` capture was never a real pattern: env vars don't persist between agent tool calls). The one new render: the `endpoint list` SELF pin carries the Self endpoint's authored `endpoint description` (info::read_info(...).resources) when present, inline after the liveness state. whoami stays a top-level hot-path verb (parse unchanged, REQ-MSG-9).",
2026-06-16T04:57:29.8811384Z       "requiredStages": [
2026-06-16T04:57:29.8811490Z         "doc",
2026-06-16T04:57:29.8811594Z         "impl",
2026-06-16T04:57:29.8811707Z         "unit"
2026-06-16T04:57:29.8811807Z       ],
2026-06-16T04:57:29.8811918Z       "stages": {
2026-06-16T04:57:29.8812022Z         "doc": {
2026-06-16T04:57:29.8812147Z           "complete": true,
2026-06-16T04:57:29.8812256Z           "evidence": [
2026-06-16T04:57:29.8812361Z             {
2026-06-16T04:57:29.8812486Z               "path": "CONTEXT.md",
2026-06-16T04:57:29.8812585Z               "line": 652
2026-06-16T04:57:29.8812689Z             }
2026-06-16T04:57:29.8812791Z           ]
2026-06-16T04:57:29.8812891Z         },
2026-06-16T04:57:29.8812995Z         "impl": {
2026-06-16T04:57:29.8813096Z           "complete": true,
2026-06-16T04:57:29.8813214Z           "evidence": [
2026-06-16T04:57:29.8813310Z             {
2026-06-16T04:57:29.8813440Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8813539Z               "line": 2799
2026-06-16T04:57:29.8813639Z             },
2026-06-16T04:57:29.8813745Z             {
2026-06-16T04:57:29.8813867Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8813981Z               "line": 2811
2026-06-16T04:57:29.8814077Z             }
2026-06-16T04:57:29.8814175Z           ]
2026-06-16T04:57:29.8814274Z         },
2026-06-16T04:57:29.8814384Z         "int": {
2026-06-16T04:57:29.8814504Z           "complete": false,
2026-06-16T04:57:29.8814603Z           "evidence": []
2026-06-16T04:57:29.8814704Z         },
2026-06-16T04:57:29.8814808Z         "unit": {
2026-06-16T04:57:29.8815033Z           "complete": true,
2026-06-16T04:57:29.8815256Z           "evidence": [
2026-06-16T04:57:29.8815357Z             {
2026-06-16T04:57:29.8815481Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8815590Z               "line": 6615
2026-06-16T04:57:29.8815696Z             },
2026-06-16T04:57:29.8815800Z             {
2026-06-16T04:57:29.8815919Z               "path": "crates/spt/src/cli.rs",
2026-06-16T04:57:29.8816030Z               "line": 6631
2026-06-16T04:57:29.8816138Z             }
2026-06-16T04:57:29.8816244Z           ]
2026-06-16T04:57:29.8816349Z         }
2026-06-16T04:57:29.8816448Z       }
2026-06-16T04:57:29.8816544Z     }
2026-06-16T04:57:29.8816645Z   ],
2026-06-16T04:57:29.8816754Z   "findings": []
2026-06-16T04:57:29.8816857Z }
